In the Beginning was the Command Line

by Neal Stephenson


About twenty years ago Jobs and Wozniak, the foundersof Apple, came up with the very strange idea of selling informationprocessing machines for use in the home. The business took off, andits founders made a lot of money and received the credit theydeserved for being daring visionaries. But around the same time, BillGates and Paul Allen came up with an idea even stranger and morefantastical: selling computer operating systems. This was muchweirder than the idea of Jobs and Wozniak. A computer at least hadsome sort of physical reality to it. It came in a box, you could openit up and plug it in and watch lights blink. An operating system hadno tangible incarnation at all. It arrived on a disk, of course, butthe disk was, in effect, nothing more than the box that the OS camein. The product itself was a very long string of ones and zeroesthat, when properly installed and coddled, gave you the ability tomanipulate other very long strings of ones and zeroes. Eventhose few who actually understood what a computer operating systemwas were apt to think of it as a fantastically arcane engineeringprodigy, like a breeder reactor or a U-2 spy plane, and not somethingthat could ever be (in the parlance of high-tech)"productized."

Yet now the company that Gates and Allen foundedis selling operating systems like Gillette sells razor blades. Newreleases of operating systems are launched as if they were Hollywoodblockbusters, with celebrity endorsements, talk show appearances, andworld tours. The market for them is vast enough that people worryabout whether it has been monopolized by one company. Even the leasttechnically-minded people in our society now have at least a hazyidea of what operating systems do; what is more, they have strongopinions about their relative merits. It is commonly understood, evenby technically unsophisticated computer users, that if you have apiece of software that works on your Macintosh, and you move it overonto a Windows machine, it will not run. That this would, in fact, bea laughable and idiotic mistake, like nailing horseshoes to the tiresof a Buick.

A person who went into a coma before Microsoft wasfounded, and woke up now, could pick up this morning's New York Timesand understand everything in it--almost:
 

What the hell is going on here? And does theoperating system business have a future, or only a past? Here is myview, which is entirely subjective; but since I have spent a fairamount of time not only using, but programming, Macintoshes, Windowsmachines, Linux boxes and the BeOS, perhaps it is not so ill-informedas to be completely worthless. This is a subjective essay, morereview than research paper, and so it might seem unfair or biasedcompared to the technical reviews you can find in PC magazines. Butever since the Mac came out, our operating systems have been based onmetaphors, and anything with metaphors in it is fair game as far asI'm concerned.
 

MGBs, TANKS, AND BATMOBILES

Around the time that Jobs, Wozniak, Gates, andAllen were dreaming up these unlikely schemes, I was a teenagerliving in Ames, Iowa. One of my friends' dads had an old MGB sportscar rusting away in his garage. Sometimes he would actually manage toget it running and then he would take us for a spin around the block,with a memorable look of wild youthful exhiliration on his face; tohis worried passengers, he was a madman, stalling and backfiringaround Ames, Iowa and eating the dust of rusty Gremlins and Pintos,but in his own mind he was Dustin Hoffman tooling across the BayBridge with the wind in his hair.

In retrospect, this was telling me two thingsabout people's relationship to technology. One was that romance andimage go a long way towards shaping their opinions. If you doubt it(and if you have a lot of spare time on your hands) just ask anyonewho owns a Macintosh and who, on those grounds, imagines him- orherself to be a member of an oppressed minority group.

The other, somewhat subtler point, was thatinterface is very important. Sure, the MGB was a lousy car in almostevery way that counted: balky, unreliable, underpowered. But itwas fun to drive. It was responsive. Every pebble on the road wasfelt in the bones, every nuance in the pavement transmitted instantlyto the driver's hands. He could listen to the engine and tell whatwas wrong with it. The steering responded immediately to commandsfrom his hands. To us passengers it was a pointless exercise in goingnowhere--about as interesting as peering over someone's shoulderwhile he punches numbers into a spreadsheet. But to the driver it wasan experience. For a short time he was extending his body andhis senses into a larger realm, and doing things that he couldn't dounassisted.

The analogy between cars and operating systems isnot half bad, and so let me run with it for a moment, as a way ofgiving an executive summary of our situation today.

Imagine a crossroads where four competing autodealerships are situated. One of them (Microsoft) is much, muchbigger than the others. It started out years ago selling three-speedbicycles (MS-DOS); these were not perfect, but they worked, and whenthey broke you could easily fix them.

There was a competing bicycle dealership next door(Apple) that one day began selling motorized vehicles--expensive butattractively styled cars with their innards hermetically sealed, sothat how they worked was something of a mystery.

The big dealership responded by rushing a mopedupgrade kit (the original Windows) onto the market. This was a RubeGoldberg contraption that, when bolted onto a three-speed bicycle,enabled it to keep up, just barely, with Apple-cars. The users had towear goggles and were always picking bugs out of their teeth whileApple owners sped along in hermetically sealed comfort, sneering outthe windows. But the Micro-mopeds were cheap, and easy to fixcompared with the Apple-cars, and their market sharewaxed.

Eventually the big dealership came out with afull-fledged car: a colossal station wagon (Windows 95). It had allthe aesthetic appeal of a Soviet worker housing block, it leaked oiland blew gaskets, and it was an enormous success. A little later,they also came out with a hulking off-road vehicle intended forindustrial users (Windows NT) which was no more beautiful than thestation wagon, and only a little more reliable.

Since then there has been a lot of noise andshouting, but little has changed. The smaller dealership continues tosell sleek Euro-styled sedans and to spend a lot of money onadvertising campaigns. They have had GOING OUT OF BUSINESS! signstaped up in their windows for so long that they have gotten allyellow and curly. The big one keeps making bigger and bigger stationwagons and ORVs.

On the other side of the road are two competitorsthat have come along more recently.

One of them (Be, Inc.) is selling fullyoperational Batmobiles (the BeOS). They are more beautiful andstylish even than the Euro-sedans, better designed, moretechnologically advanced, and at least as reliable as anything elseon the market--and yet cheaper than the others.

With one exception, that is: Linux, which is rightnext door, and which is not a business at all. It's a bunch of RVs,yurts, tepees, and geodesic domes set up in a field and organized byconsensus. The people who live there are making tanks. These are notold-fashioned, cast-iron Soviet tanks; these are more like the M1tanks of the U.S. Army, made of space-age materials and jammed withsophisticated technology from one end to the other. But they arebetter than Army tanks. They've been modified in such a way that theynever, ever break down, are light and maneuverable enough to use onordinary streets, and use no more fuel than a subcompact car. Thesetanks are being cranked out, on the spot, at a terrific pace, and avast number of them are lined up along the edge of the road with keysin the ignition. Anyone who wants can simply climb into one and driveit away for free.

Customers come to this crossroads in throngs, dayand night. Ninety percent of them go straight to the biggestdealership and buy station wagons or off-road vehicles. They do noteven look at the other dealerships.

Of the remaining ten percent, most go and buy asleek Euro-sedan, pausing only to turn up their noses at thephilistines going to buy the station wagons and ORVs. If they evennotice the people on the opposite side of the road, selling thecheaper, technically superior vehicles, these customers deride themcranks and half-wits.

The Batmobile outlet sells a few vehicles to theoccasional car nut who wants a second vehicle to go with his stationwagon, but seems to accept, at least for now, that it's a fringeplayer.

The group giving away the free tanks only staysalive because it is staffed by volunteers, who are lined up at theedge of the street with bullhorns, trying to draw customers'attention to this incredible situation. A typical conversation goessomething like this:

Hacker with bullhorn: "Save your money! Accept oneof our free tanks! It is invulnerable, and can drive across rocks andswamps at ninety miles an hour while getting a hundred miles to thegallon!"

Prospective station wagon buyer: "I know what yousay is true...but...er...I don't know how to maintain atank!"

Bullhorn: "You don't know how to maintain astation wagon either!"

Buyer: "But this dealership has mechanics onstaff. If something goes wrong with my station wagon, I can take aday off work, bring it here, and pay them to work on it while I sitin the waiting room for hours, listening to elevatormusic."

Bullhorn: "But if you accept one of our free tankswe will send volunteers to your house to fix it for free while yousleep!"

Buyer: "Stay away from my house, youfreak!"

Bullhorn: "But..."

Buyer: "Can't you see that everyone is buyingstation wagons?"
 

BIT-FLINGER


The connection between cars, and ways of interacting with computers,wouldn't have occurred to me at the time I was being taken for ridesin that MGB. I had signed up to take a computer programming class atAmes High School. After a few introductory lectures, we students weregranted admission into a tiny room containing a teletype, atelephone, and an old-fashioned modem consisting of a metal box witha pair of rubber cups on the top (note: many readers, making theirway through that last sentence, probably felt an initial pang ofdread that this essay was about to turn into a tedious, codgerlyreminiscence about how tough we had it back in the old days; restassured that I am actually positioning my pieces on the chessboard,as it were, in preparation to make a point about truly hip andup-to-the minute topics like Open Source Software). The teletype wasexactly the same sort of machine that had been used, for decades, tosend and receive telegrams. It was basically a loud typewriter thatcould only produce UPPERCASE LETTERS. Mounted to one side of it was asmaller machine with a long reel of paper tape on it, and a clearplastic hopper underneath.

In order to connect this device (which was not acomputer at all) to the Iowa State University mainframe across town,you would pick up the phone, dial the computer's number, listen forstrange noises, and then slam the handset down into the rubber cups.If your aim was true, one would wrap its neoprene lips around theearpiece and the other around the mouthpiece, consummating a kind ofinformational soixante-neuf.  The teletype would shudderas it was possessed by the spirit of the distant mainframe, and beginto hammer out cryptic messages.

Since computer time was a scarce resource, we useda sort of batch processing technique. Before dialing the phone, wewould turn on the tape puncher (a subsidiary machine bolted to theside of the teletype) and type in our programs. Each time wedepressed a key, the teletype would bash out a letter on the paper infront of us, so we could read what we'd typed; but at the same timeit would convert the letter into a set of eight binary digits, orbits, and punch a corresponding pattern of holes across the width ofa paper tape. The tiny disks of paper knocked out of the tape wouldflutter down into the clear plastic hopper, which would slowly fillup what can only be described as actual bits. On the last day of theschool year, the smartest kid in the class (not me) jumped out frombehind his desk and flung several quarts of these bits over the headof our teacher, like confetti, as a sort of semi-affectionatepractical joke. The image of this man sitting there, gripped in theopening stages of an atavistic fight-or-flight reaction, withmillions of bits (megabytes) sifting down out of his hair and intohis nostrils and mouth, his face gradually turning purple as he builtup to an explosion, is the single most memorable scene from my formaleducation.

Anyway, it will have been obvious that myinteraction with the computer was of an extremely formal nature,being sharply divided up into different phases, viz.: (1) sitting athome with paper and pencil, miles and miles from any computer, Iwould think very, very hard about what I wanted the computer to do,and translate my intentions into a computer language--a series ofalphanumeric symbols on a page. (2) I would carry this across a sortof informational cordon sanitaire (three miles of snowdrifts)to school and type those letters into a machine--not acomputer--which would convert the symbols into binary numbers andrecord them visibly on a tape. (3) Then, through the rubber-cupmodem, I would cause those numbers to be sent to the universitymainframe, which would (4) do arithmetic on them and send differentnumbers back to the teletype. (5) The teletype would convert thesenumbers back into letters and hammer them out on a page and (6) I,watching, would construe the letters as meaningfulsymbols.

The division of responsibilities implied by all ofthis is admirably clean: computers do arithmetic on bits ofinformation. Humans construe the bits as meaningful symbols. But thisdistinction is now being blurred, or at least complicated, by theadvent of modern operating systems that use, and frequently abuse,the power of metaphor to make computers accessible to a largeraudience. Along the way--possibly because of those metaphors, whichmake an operating system a sort of work of art--people start to getemotional, and grow attached to pieces of software in the way that myfriend's dad did to his MGB.

People who have only interacted with computersthrough graphical user interfaces like the MacOS or Windows--which isto say, almost everyone who has ever used a computer--may have beenstartled, or at least bemused, to hear about the telegraph machinethat I used to communicate with a computer in 1973. But there was,and is, a good reason for using this particular kind of technology.Human beings have various ways of communicating to each other,such as music, art, dance, and facial expressions, but some of theseare more amenable than others to being expressed as strings ofsymbols. Written language is the easiest of all, because, of course,it consists of strings of symbols to begin with. If thesymbols happen to belong to a phonetic alphabet (as opposed to, say,ideograms), converting them into bits is a trivial procedure, and onethat was nailed, technologically, in the early nineteenth century,with the introduction of Morse code and other forms oftelegraphy.

We had a human/computer interface a hundred yearsbefore we had computers. When computers came into being around thetime of the Second World War, humans, quite naturally, communicatedwith them by simply grafting them on to the already-existingtechnologies for translating letters into bits and vice versa:teletypes and punch card machines.

These embodied two fundamentally differentapproaches to computing. When you were using cards, you'd punch awhole stack of them and run them through the reader all at once,which was called batch processing. You could also do batch processingwith a teletype, as I have already described, by using the paper tapereader, and we were certainly encouraged to use this approach when Iwas in high school. But--though efforts were made to keep us unawareof this--the teletype could do something that the card reader couldnot. On the teletype, once the modem link was established, you couldjust type in a line and hit the return key. The teletype would sendthat line to the computer, which might or might not respond with somelines of its own, which the teletype would hammer out--producing,over time, a transcript of your exchange with the machine. This wayof doing it did not even have a name at the time, but when, muchlater, an alternative became available, it was retroactively dubbedthe Command Line Interface.

When I moved on to college, I did my computing inlarge, stifling rooms where scores of students would sit in front ofslightly updated versions of the same machines and write computerprograms: these used dot-matrix printing mechanisms, but were (fromthe computer's point of view) identical to the old teletypes. By thatpoint, computers were better at time-sharing--that is, mainframeswere still mainframes, but they were better at communicating with alarge number of terminals at once. Consequently, it was no longernecessary to use batch processing. Card readers were shoved out intohallways and boiler rooms, and batch processing became a nerds-onlykind of thing, and consequently took on a certain eldritch flavoramong those of us who even knew it existed. We were all off theBatch, and on the Command Line, interface now--my very first shift inoperating system paradigms, if only I'd known it.

A huge stack of accordion-fold paper sat on thefloor underneath each one of these glorified teletypes, and miles ofpaper shuddered through their platens. Almost all of this paper wasthrown away or recycled without ever having been touched by ink--anecological atrocity so glaring that those machines soon replaced byvideo terminals--so-called "glass teletypes"--which were quieter anddidn't waste paper. Again, though, from the computer's point of viewthese were indistinguishable from World War II-era teletype machines.In effect we still used Victorian technology to communicate withcomputers until about 1984, when the Macintosh was introduced withits Graphical User Interface. Even after that, the Command Linecontinued to exist as an underlying stratum--a sort of brainstemreflex--of many modern computer systems all through the heyday ofGraphical User Interfaces, or GUIs as I will call them from nowon.
 

GUIs


Now the first job that any coder needs to do when writing a new pieceof software is to figure out how to take the information that isbeing worked with (in a graphics program, an image; in a spreadsheet,a grid of numbers) and turn it into a linear string of bytes. Thesestrings of bytes are commonly called files or (somewhat more hiply)streams. They are to telegrams what modern humans are to Cro-Magnonman, which is to say the same thing under a different name. All thatyou see on your computer screen--your Tomb Raider, your digitizedvoice mail messages, faxes, and word processing documents written inthirty-seven different typefaces--is still, from the computer's pointof view, just like telegrams, except much longer, and demanding ofmore arithmetic.

The quickest way to get a taste of this is to fireup your web browser, visit a site, and then select the View/DocumentSource menu item. You will get a bunch of computer code that lookssomething like this:

<HTML>

<HEAD>

<TITLE>Welcome to the Avon Books Homepage</TITLE>
</HEAD>

<MAP NAME="left0199">
     <AREA SHAPE="rect"COORDS="16,56,111,67" HREF="/bard/">
     <AREA SHAPE="rect"COORDS="14,77,111,89" HREF="/eos/">
     <AREA SHAPE="rect"COORDS="17,98,112,110" HREF="/twilight/">
     <AREA SHAPE="rect"COORDS="18,119,112,131"HREF="/avon_user/category.html?category_id=271">
     <AREA SHAPE="rect"COORDS="19,140,112,152" HREF="http://www.goners.com/">
     <AREA SHAPE="rect"COORDS="18,161,111,173" HREF="http://www.spikebooks.com/">
     <AREA SHAPE="rect"COORDS="2,181,112,195"HREF="/avon_user/category.html?category_id=277">
     <AREA SHAPE="rect"COORDS="9,203,112,216" HREF="/chathamisland/">
     <AREA SHAPE="rect"COORDS="7,223,112,236" HREF="/avon_user/search.html">
</MAP>

<BODY TEXT="#478CFF" LINK="#FFFFFF" VLINK="#000000"ALINK="#478CFF" BGCOLOR="#003399">
<TABLE BORDER="0" WIDTH="600" CELLPADDING="0"CELLSPACING="0">

<TR VALIGN=TOP>

     <TD ROWSPAN="3">
     <AHREF="/cgi-bin/imagemap/maps/left.gif.map"><IMGSRC="/avon/images/home/nav/left0199.gif" WIDTH="113" HEIGHT="280"BORDER="0" USEMAP="#left0199"></A></TD><TDROWSPAN="3"><IMGSRC="/avon/images/home/homepagejan98/2ndleft.gif" WIDTH="144"HEIGHT="280" BORDER="0"></TD><TD><AHREF="/avon/about.html"><IMGSRC="/avon/images/home/homepagejan98/aboutavon.gif" ALT="About AvonBooks" WIDTH="199" HEIGHT="44"BORDER="0"></A></TD><TD ROWSPAN="3"><AHREF="/avon/fiction/guides.html"><IMGSRC="/avon/images/home/feb98/right1.gif" ALT="Reading Groups"WIDTH="165" HEIGHT="121" BORDER="0"></A><BR><AHREF="/avon/feature/feb99/crook.html"><IMGSRC="/avon/images/home/feb99/crook_text.gif" ALT="The Crook Factory"WIDTH="165" HEIGHT="96" BORDER="0"></A><BR><AHREF="http://apps.hearstnewmedia.com/cgi-bin/gx.cgi/AppLogic+APPSSURVEYS
Questionnaire?domain_id=182&survey_id=541"><IMGSRC="/avon/images/home/feb99/env_text.gif" ALT="The Envelope Please"WIDTH="165" HEIGHT="63" BORDER="0"></A></TD>
</TR>

<TR VALIGN=TOP><TD><IMGSRC="/avon/images/home/feb98/main.gif" WIDTH="199" HEIGHT="182"BORDER="0"></TD></TR><TRVALIGN=TOP><TD><AHREF="/avon/feature/jan99/sitchin.html"><IMGSRC="/avon/images/home/jan99/sitchin_text.gif" WIDTH="199"HEIGHT="54" BORDER="0"></A></TD></TR><TRVALIGN=TOP><TD COLSPAN="4"><IMGSRC="/avon/images/home/jan99/avon_bottom_beau.gif" WIDTH="622"HEIGHT="179" BORDER="0"USEMAP="#bottom"></TD></TR><TR><TDALIGN=CENTER VALIGN=TOP COLSPAN="4"><FONT SIZE="2"FACE="ARIAL,COURIER"><PRE>


</PRE><A HREF="/avon/ordering.html">How toorder</A> | <A HREF="/avon/faq.html#manu">How to submit aManuscript</A> | <AHREF="mailto:avonweb@hearst.com">Contact us</A> | <AHREF="/avon/policy.html">Privacy Policy</A></FONT>

<P>
</FONT></TD>

</TR>

</TABLE>

</BODY>

</HTML>
 

This crud is called HTML (HyperText MarkupLanguage) and it is basically a very simple programming languageinstructing your web browser how to draw a page on a screen. Anyonecan learn HTML and many people do. The important thing is that nomatter what splendid multimedia web pages they might represent, HTMLfiles are just telegrams.

When Ronald Reagan was a radio announcer, he usedto call baseball games by reading the terse descriptions thattrickled in over the telegraph wire and were printed out on a papertape. He would sit there, all by himself in a padded room with amicrophone, and the paper tape would eke out of the machine and crawlover the palm of his hand printed with cryptic abbreviations. If thecount went to three and two, Reagan would describe the scene as hesaw it in his mind's eye: "The brawny left-hander steps out of thebatter's box to wipe the sweat from his brow. The umpire stepsforward to sweep the dirt from home plate." and so on. When thecryptogram on the paper tape announced a base hit, he would whack theedge of the table with a pencil, creating a little sound effect, anddescribe the arc of the ball as if he could actually see it. Hislisteners, many of whom presumably thought that Reagan was actuallyat the ballpark watching the game, would reconstruct the scene intheir minds according to his descriptions.

This is exactly how the World Wide Web works: theHTML files are the pithy description on the paper tape, and your Webbrowser is Ronald Reagan. The same is true of Graphical UserInterfaces in general.

So an OS is a stack of metaphors and abstractionsthat stands between you and the telegrams, and embodying varioustricks the programmer used to convert the information you're workingwith--be it images, e-mail messages, movies, or word processingdocuments--into the necklaces of bytes that are the only thingscomputers know how to work with. When we used actual telegraphequipment (teletypes) or their higher-tech substitutes ("glassteletypes," or the MS-DOS command line) to work with our computers,we were very close to the bottom of that stack. When we use mostmodern operating systems, though, our interaction with the machine isheavily mediated. Everything we do is interpreted and translated timeand again as it works its way down through all of the metaphors andabstractions.

The Macintosh OS was a revolution in both the goodand bad senses of that word. Obviously it was true that command lineinterfaces were not for everyone, and that it would be a good thingto make computers more accessible to a less technical audience--ifnot for altruistic reasons, then because those sorts of peopleconstituted an incomparably vaster market. It was clear the the Mac'sengineers saw a whole new country stretching out before them; youcould almost hear them muttering, "Wow! We don't have to be bound byfiles as linear streams of bytes anymore, vive la revolution,let's see how far we can take this!" No command line interface wasavailable on the Macintosh; you talked to it with the mouse, or notat all. This was a statement of sorts, a credential of revolutionarypurity. It seemed that the designers of the Mac intended to sweepCommand Line Interfaces into the dustbin of history.

My own personal love affair with the Macintoshbegan in the spring of 1984 in a computer store in Cedar Rapids,Iowa, when a friend of mine--coincidentally, the son of the MGBowner--showed me a Macintosh running MacPaint, the revolutionarydrawing program. It ended in July of 1995 when I tried to save a bigimportant file on my Macintosh Powerbook and instead instead of doingso, it annihilated the data so thoroughly that two different diskcrash utility programs were unable to find any trace that it had everexisted. During the intervening ten years, I had a passion for theMacOS that seemed righteous and reasonable at the time but inretrospect strikes me as being exactly the same sort of goofyinfatuation that my friend's dad had with his car.

The introduction of the Mac triggered a sort ofholy war in the computer world. Were GUIs a brilliant designinnovation that made computers more human-centered and thereforeaccessible to the masses, leading us toward an unprecedentedrevolution in human society, or an insulting bit of audiovisualgimcrackery dreamed up by flaky Bay Area hacker types that strippedcomputers of their power and flexibility and turned the noble andserious work of computing into a childish video game?

This debate actually seems more interesting to metoday than it did in the mid-1980s. But people more or less stoppeddebating it when Microsoft endorsed the idea of GUIs by coming outwith the first Windows. At this point, command-line partisans wererelegated to the status of silly old grouches, and a new conflict wastouched off, between users of MacOS and users of Windows.

There was plenty to argue about. The firstMacintoshes looked different from other PCs even when they wereturned off: they consisted of one box containing both CPU (the partof the computer that does arithmetic on bits) and monitor screen.This was billed, at the time, as a philosophical statement of sorts:Apple wanted to make the personal computer into an appliance, like atoaster. But it also reflected the purely technical demands ofrunning a graphical user interface. In a GUI machine, the chips thatdraw things on the screen have to be integrated with the computer'scentral processing unit, or CPU, to a far greater extent than is thecase with command-line interfaces, which until recently didn't evenknow that they weren't just talking to teletypes.

This distinction was of a technical and abstractnature, but it became clearer when the machine crashed (it iscommonly the case with technologies that you can get the best insightabout how they work by watching them fail). When everything went tohell and the CPU began spewing out random bits, the result, on a CLImachine, was lines and lines of perfectly formed but randomcharacters on the screen--known to cognoscenti as "going Cyrillic."But to the MacOS, the screen was not a teletype, but a place to putgraphics; the image on the screen was a bitmap, a literal renderingof the contents of a particular portion of the computer's memory.When the computer crashed and wrote gibberish into the bitmap, theresult was something that looked vaguely like static on a brokentelevision set--a "snow crash."

And even after the introduction of Windows, theunderlying differences endured; when a Windows machine got intotrouble, the old command-line interface would fall down over the GUIlike an asbestos fire curtain sealing off the proscenium of a burningopera. When a Macintosh got into trouble it presented you with acartoon of a bomb, which was funny the first time you sawit.

And these were by no means superficialdifferences. The reversion of Windows to a CLI when it was indistress proved to Mac partisans that Windows was nothing more than acheap facade, like a garish afghan flung over a rotted-out sofa. Theywere disturbed and annoyed by the sense that lurking underneathWindows' ostensibly user-friendly interface was--literally--asubtext.

For their part, Windows fans might have made thesour observation that all computers, even Macintoshes, were built onthat same subtext, and that the refusal of Mac owners to admit thatfact to themselves seemed to signal a willingness, almost aneagerness, to be duped.

Anyway, a Macintosh had to switch individual bitsin the memory chips on the video card, and it had to do it very fast,and in arbitrarily complicated patterns. Nowadays this is cheap andeasy, but in the technological regime that prevailed in the early1980s, the only realistic way to do it was to build the motherboard(which contained the CPU) and the video system (which contained thememory that was mapped onto the screen) as a tightly integratedwhole--hence the single, hermetically sealed case that made theMacintosh so distinctive.

When Windows came out, it was conspicuous for itsugliness, and its current successors, Windows 95 and Windows NT, arenot things that people would pay money to look at either. Microsoft'scomplete disregard for aesthetics gave all of us Mac-lovers plenty ofopportunities to look down our noses at them. That Windows looked anawful lot like a direct ripoff of MacOS gave us a burning sense ofmoral outrage to go with it. Among people who really knew andappreciated computers (hackers, in Steven Levy's non-pejorative senseof that word) and in a few other niches such as professionalmusicians, graphic artists and schoolteachers, the Macintosh, for awhile, was simply the computer. It was seen as not only asuperb piece of engineering, but an embodiment of certain idealsabout the use of technology to benefit mankind, while Windows wasseen as a pathetically clumsy imitation and a sinister worlddomination plot rolled into one. So very early, a pattern had beenestablished that endures to this day: people dislike Microsoft, whichis okay; but they dislike it for reasons that are poorly considered,and in the end, self-defeating.
 

CLASS STRUGGLE ON THE DESKTOP

Now that the Third Rail has been firmly grasped,it is worth reviewing some basic facts here: like any other publiclytraded, for-profit corporation, Microsoft has, in effect, borrowed abunch of money from some people (its stockholders) in order to be inthe bit business. As an officer of that corporation, Bill Gates hasone responsibility only, which is to maximize return on investment.He has done this incredibly well. Any actions taken in the world byMicrosoft-any software released by them, for example--are basicallyepiphenomena, which can't be interpreted or understood except insofaras they reflect Bill Gates's execution of his one and onlyresponsibility.

It follows that if Microsoft sells goods that areaesthetically unappealing, or that don't work very well, it does notmean that they are (respectively) philistines or half-wits. It isbecause Microsoft's excellent management has figured out that theycan make more money for their stockholders by releasing stuff withobvious, known imperfections than they can by making it beautiful orbug-free. This is annoying, but (in the end) not half so annoying aswatching Apple inscrutably and relentlessly destroyitself.

Hostility towards Microsoft is not difficult tofind on the Net, and it blends two strains: resentful people who feelMicrosoft is too powerful, and disdainful people who think it'stacky. This is all strongly reminiscent of the heyday of Communismand Socialism, when the bourgeoisie were hated from both ends: by theproles, because they had all the money, and by the intelligentsia,because of their tendency to spend it on lawn ornaments. Microsoft isthe very embodiment of modern high-tech prosperity--it is, in a word,bourgeois--and so it attracts all of the same gripes.

The opening "splash screen" for Microsoft Word 6.0summed it up pretty neatly: when you started up the program you weretreated to a picture of an expensive enamel pen lying across a coupleof sheets of fancy-looking handmade writing paper. It was obviously abid to make the software look classy, and it might have worked forsome, but it failed for me, because the pen was a ballpoint, and I'ma fountain pen man. If Apple had done it, they would've used a MontBlanc fountain pen, or maybe a Chinese calligraphy brush. And I doubtthat this was an accident. Recently I spent a while re-installingWindows NT on one of my home computers, and many times had todouble-click on the "Control Panel" icon. For reasons that aredifficult to fathom, this icon consists of a picture of a clawhammerand a chisel or screwdriver resting on top of a filefolder.

These aesthetic gaffes give one an almostuncontrollable urge to make fun of Microsoft, but again, it is allbeside the point--if Microsoft had done focus group testing ofpossible alternative graphics, they probably would have found thatthe average mid-level office worker associated fountain pens witheffete upper management toffs and was more comfortable withballpoints. Likewise, the regular guys, the balding dads of the worldwho probably bear the brunt of setting up and maintaining homecomputers, can probably relate better to a picture of aclawhammer--while perhaps harboring fantasies of taking a real one totheir balky computers.

This is the only way I can explain certainpeculiar facts about the current market for operating systems, suchas that ninety percent of all customers continue to buy stationwagons off the Microsoft lot while free tanks are there for thetaking, right across the street.

A string of ones and zeroes was not a difficultthing for Bill Gates to distribute, one he'd thought of theidea. The hard part was selling it--reassuring customers thatthey were actually getting something in return for theirmoney.

Anyone who has ever bought a piece of software ina store has had the curiously deflating experience of taking thebright shrink-wrapped box home, tearing it open, finding that it's 95percent air, throwing away all the little cards, party favors, andbits of trash, and loading the disk into the computer. The end result(after you've lost the disk) is nothing except some images on acomputer screen, and some capabilities that weren't there before.Sometimes you don't even have that--you have a string of errormessages instead. But your money is definitely gone. Now we arealmost accustomed to this, but twenty years ago it was a very diceybusiness proposition. Bill Gates made it work anyway. He didn't makeit work by selling the best software or offering the cheapest price.Instead he somehow got people to believe that they were receivingsomething in exchange for their money.

The streets of every city in the world are filledwith those hulking, rattling station wagons. Anyone who doesn't ownone feels a little weird, and wonders, in spite of himself, whetherit might not be time to cease resistance and buy one; anyone whodoes, feels confident that he has acquired some meaningfulpossession, even on those days when the vehicle is up on a lift in anauto repair shop.

All of this is perfectly congruent with membershipin the bourgeoisie, which is as much a mental, as a material state.And it explains why Microsoft is regularly attacked, on the Net, fromboth sides. People who are inclined to feel poor and oppressedconstrue everything Microsoft does as some sinister Orwellian plot.People who like to think of themselves as intelligent and informedtechnology users are driven crazy by the clunkiness ofWindows.

Nothing is more annoying to sophisticated peopleto see someone who is rich enough to know better being tacky--unlessit is to realize, a moment later, that they probably know theyare tacky and they simply don't care and they are going to goon being tacky, and rich, and happy, forever. Microsoft thereforebears the same relationship to the Silicon Valley elite as theBeverly Hillbillies did to their fussy banker, Mr. Drysdale--who isirritated not so much by the fact that the Clampetts moved to hisneighborhood as by the knowledge that, when Jethro is seventy yearsold, he's still going to be talking like a hillbilly and wearing biboveralls, and he's still going to be a lot richer than Mr.Drysdale.

Even the hardware that Windows ran on, whencompared to the machines put out by Apple, looked like white-trashstuff, and still mostly does. The reason was that Apple was and is ahardware company, while Microsoft was and is a software company.Apple therefore had a monopoly on hardware that could run MacOS,whereas Windows-compatible hardware came out of a free market. Thefree market seems to have decided that people will not pay forcool-looking computers; PC hardware makers who hire designers to maketheir stuff look distinctive get their clocks cleaned by Taiwaneseclone makers punching out boxes that look as if they belong oncinderblocks in front of someone's trailer. But Apple could maketheir hardware as pretty as they wanted to and simply pass the higherprices on to their besotted consumers, like me. Only last week (I amwriting this sentence in early Jan. 1999) the technology sections ofall the newspapers were filled with adulatory press coverage of howApple had released the iMac in several happenin' new colors likeBlueberry and Tangerine.

Apple has always insisted on having a hardwaremonopoly, except for a brief period in the mid-1990s when theyallowed clone-makers to compete with them, before subsequentlyputting them out of business. Macintosh hardware was, consequently,expensive. You didn't open it up and fool around with it becausedoing so would void the warranty. In fact the first Mac wasspecifically designed to be difficult to open--you needed a kit ofexotic tools, which you could buy through little ads that began toappear in the back pages of magazines a few months after the Mac cameout on the market. These ads always had a certain disreputable airabout them, like pitches for lock-picking tools in the backs of luriddetective magazines.

This monopolistic policy can be explained in atleast three different ways.

THE CHARITABLE EXPLANATION is that the hardwaremonopoly policy reflected a drive on Apple's part to provide aseamless, unified blending of hardware, operating system, andsoftware. There is something to this. It is hard enough to make an OSthat works well on one specific piece of hardware, designed andtested by engineers who work down the hallway from you, in the samecompany. Making an OS to work on arbitrary pieces of hardware,cranked out by rabidly entrepeneurial clonemakers on the other sideof the International Date Line, is very difficult, and accounts formuch of the troubles people have using Windows.

THE FINANCIAL EXPLANATION is that Apple, unlikeMicrosoft, is and always has been a hardware company. It simplydepends on revenue from selling hardware, and cannot exist withoutit.

THE NOT-SO-CHARITABLE EXPLANATION has to do withApple's corporate culture, which is rooted in Bay Area BabyBoomdom.

Now, since I'm going to talk for a moment aboutculture, full disclosure is probably in order, to protect myselfagainst allegations of conflict of interest and ethical turpitude:(1) Geographically I am a Seattleite, of a Saturnine temperament, andinclined to take a sour view of the Dionysian Bay Area, just as theytend to be annoyed and appalled by us. (2) Chronologically I am apost-Baby Boomer. I feel that way, at least, because I neverexperienced the fun and exciting parts of the whole Boomerscene--just spent a lot of time dutifully chuckling at Boomers'maddeningly pointless anecdotes about just how stoned they got onvarious occasions, and politely fielding their assertions about howgreat their music was. But even from this remove it was possible toglean certain patterns, and one that recurred as regularly as anurban legend was the one about how someone would move into a communepopulated by sandal-wearing, peace-sign flashing flower children, andeventually discover that, underneath this facade, the guys who ran itwere actually control freaks; and that, as living in a commune, wheremuch lip service was paid to ideals of peace, love and harmony, haddeprived them of normal, socially approved outlets for theircontrol-freakdom, it tended to come out in other, invariably moresinister, ways.

Applying this to the case of Apple Computer willbe left as an exercise for the reader, and not a very difficultexercise.

It is a bit unsettling, at first, to think ofApple as a control freak, because it is completely at odds with theircorporate image. Weren't these the guys who aired the famous SuperBowl ads showing suited, blindfolded executives marching likelemmings off a cliff? Isn't this the company that even now runs adspicturing the Dalai Lama (except in Hong Kong) and Einstein and otheroffbeat rebels?

It is indeed the same company, and the fact thatthey have been able to plant this image of themselves as creative andrebellious free-thinkers in the minds of so many intelligent andmedia-hardened skeptics really gives one pause. It is testimony tothe insidious power of expensive slick ad campaigns and, perhaps, toa certain amount of wishful thinking in the minds of people who fallfor them. It also raises the question of why Microsoft is so bad atPR, when the history of Apple demonstrates that, by writing largechecks to good ad agencies, you can plant a corporate image in theminds of intelligent people that is completely at odds with reality.(The answer, for people who don't like Damoclean questions, is thatsince Microsoft has won the hearts and minds of the silentmajority--the bourgeoisie--they don't give a damn about having aslick image, any more then Dick Nixon did. "I want to believe,"--themantra that Fox Mulder has pinned to his office wall in TheX-Files--applies in different ways to these two companies; Macpartisans want to believe in the image of Apple purveyed in thoseads, and in the notion that Macs are somehow fundamentally differentfrom other computers, while Windows people want to believe that theyare getting something for their money, engaging in a respectablebusiness transaction).

In any event, as of 1987, both MacOS and Windowswere out on the market, running on hardware platforms that wereradically different from each other--not only in the sense that MacOSused Motorola CPU chips while Windows used Intel, but in thesense--then overlooked, but in the long run, vastly moresignificant--that the Apple hardware business was a rigid monopolyand the Windows side was a churning free-for-all.

But the full ramifications of this did not becomeclear until very recently--in fact, they are still unfolding, inremarkably strange ways, as I'll explain when we get to Linux. Theupshot is that millions of people got accustomed to using GUIs in oneform or another. By doing so, they made Apple/Microsoft a lot ofmoney. The fortunes of many people have become bound up with theability of these companies to continue selling products whosesalability is very much open to question.
 

HONEY-POT, TAR-PIT, WHATEVER


When Gates and Allen invented the idea of selling software, they raninto criticism from both hackers and sober-sided businesspeople.Hackers understood that software was just information, and objectedto the idea of selling it. These objections were partly moral. Thehackers were coming out of the scientific and academic world where itis imperative to make the results of one's work freely available tothe public. They were also partly practical; how can you sellsomething that can be easily copied? Businesspeople, who are polaropposites of hackers in so many ways, had objections of their own.Accustomed to selling toasters and insurance policies, they naturallyhad a difficult time understanding how a long collection of ones andzeroes could constitute a salable product.

Obviously Microsoft prevailed over theseobjections, and so did Apple. But the objections still exist. Themost hackerish of all the hackers, the Ur-hacker as it were, was andis Richard Stallman, who became so annoyed with the evil practice ofselling software that, in 1984 (the same year that the Macintosh wenton sale) he went off and founded something called the Free SoftwareFoundation, which commenced work on something called GNU. Gnu is anacronym for Gnu's Not Unix, but this is a joke in more ways than one,because GNU most certainly IS Unix,. Because of trademark concerns("Unix" is trademarked by AT&T) they simply could notclaim that it was Unix, and so, just to be extra safe, theyclaimed that it wasn't. Notwithstanding the incomparabletalent and drive possessed by Mr. Stallman and other GNU adherents,their project to build a free Unix to compete against Microsoft andApple's OSes was a little bit like trying to dig a subway system witha teaspoon. Until, that is, the advent of Linux, which I will get tolater.

But the basic idea of re-creating an operatingsystem from scratch was perfectly sound and completely doable. It hasbeen done many times. It is inherent in the very nature of operatingsystems.

Operating systems are not strictly necessary.There is no reason why a sufficiently dedicated coder could not startfrom nothing with every project and write fresh code to handle suchbasic, low-level operations as controlling the read/write heads onthe disk drives and lighting up pixels on the screen. The very firstcomputers had to be programmed in this way. But since nearly everyprogram needs to carry out those same basic operations, this approachwould lead to vast duplication of effort.

Nothing is more disagreeable to the hacker thanduplication of effort. The first and most important mental habit thatpeople develop when they learn how to write computer programs is togeneralize, generalize, generalize. To make their code as modular andflexible as possible, breaking large problems down into smallsubroutines that can be used over and over again in differentcontexts. Consequently, the development of operating systems, despitebeing technically unnecessary, was inevitable. Because at its heart,an operating system is nothing more than a library containing themost commonly used code, written once (and hopefully written well)and then made available to every coder who needs it.

So a proprietary, closed, secret operating systemis a contradiction in terms. It goes against the whole point ofhaving an operating system. And it is impossible to keep them secretanyway. The source code--the original lines of text written by theprogrammers--can be kept secret. But an OS as a whole is a collectionof small subroutines that do very specific, very clearly definedjobs. Exactly what those subroutines do has to be made public, quiteexplicitly and exactly, or else the OS is completely useless toprogrammers; they can't make use of those subroutines if they don'thave a complete and perfect understanding of what the subroutinesdo.

The only thing that isn't made public is exactlyhow the subroutines do what they do. But once you know what asubroutine does, it's generally quite easy (if you are a hacker) towrite one of your own that does exactly the same thing. It might takea while, and it is tedious and unrewarding, but in most cases it'snot really hard.

What's hard, in hacking as in fiction, is notwriting; it's deciding what to write. And the vendors of commercialOSes have already decided, and published their decisions.

This has been generally understood for a longtime. MS-DOS was duplicated, functionally, by a rival product,written from scratch, called ProDOS, that did all of the same thingsin pretty much the same way. In other words, another company was ableto write code that did all of the same things as MS-DOS and sell itat a profit. If you are using the Linux OS, you can get a freeprogram called WINE which is a windows emulator; that is, you canopen up a window on your desktop that runs windows programs. It meansthat a completely functional Windows OS has been recreated inside ofUnix, like a ship in a bottle. And Unix itself, which is vastly moresophisticated than MS-DOS, has been built up from scratch many timesover. Versions of it are sold by Sun, Hewlett-Packard, AT&T,Silicon Graphics, IBM, and others.

People have, in other words, been re-writing basicOS code for so long that all of the technology that constituted an"operating system" in the traditional (pre-GUI) sense of that phraseis now so cheap and common that it's literally free. Not only couldGates and Allen not sell MS-DOS today, they could not even give itaway, because much more powerful OSes are already being givenaway. Even the original Windows (which was the only windows until1995) has become worthless, in that there is no point in owningsomething that can be emulated inside of Linux--which is, itself,free.

In this way the OS business is very differentfrom, say, the car business. Even an old rundown car has some value.You can use it for making runs to the dump, or strip it for parts. Itis the fate of manufactured goods to slowly and gently depreciate asthey get old and have to compete against more modernproducts.

But it is the fate of operating systems to becomefree.

Microsoft is a great software applicationscompany. Applications--such as Microsoft Word--are an area whereinnovation brings real, direct, tangible benefits to users. Theinnovations might be new technology straight from the researchdepartment, or they might be in the category of bells and whistles,but in any event they are frequently useful and they seem to makeusers happy. And Microsoft is in the process of becoming agreat research company. But Microsoft is not such a greatoperating systems company. And this is not necessarily because theiroperating systems are all that bad from a purely technologicalstandpoint. Microsoft's OSes do have their problems, sure, but theyare vastly better than they used to be, and they are adequate formost people.

Why, then, do I say that Microsoft is not such agreat operating systems company? Because the very nature of operatingsystems is such that it is senseless for them to be developed andowned by a specific company. It's a thankless job to begin with.Applications create possibilities for millions of credulous users,whereas OSes impose limitations on thousands of grumpy coders, and soOS-makers will forever be on the shit-list of anyone who counts foranything in the high-tech world. Applications get used by peoplewhose big problem is understanding all of their features, whereasOSes get hacked by coders who are annoyed by their limitations. TheOS business has been good to Microsoft only insofar as it has giventhem the money they needed to launch a really good applicationssoftware business and to hire a lot of smart researchers. Now itreally ought to be jettisoned, like a spent booster stage from arocket. The big question is whether Microsoft is capable of doingthis. Or is it addicted to OS sales in the same way as Apple is toselling hardware?

Keep in mind that Apple's ability to monopolizeits own hardware supply was once cited, by learned observers, as agreat advantage over Microsoft. At the time, it seemed to place themin a much stronger position. In the end, it nearly killed them, andmay kill them yet. The problem, for Apple, was that most of theworld's computer users ended up owning cheaper hardware. But cheaphardware couldn't run MacOS, and so these people switched toWindows.

Replace "hardware" with "operating systems," and"Apple" with "Microsoft" and you can see the same thing about tohappen all over again. Microsoft dominates the OS market, which makesthem money and seems like a great idea for now. But cheaper andbetter OSes are available, and they are growingly popular in parts ofthe world that are not so saturated with computers as the US. Tenyears from now, most of the world's computer users may end up owningthese cheaper OSes. But these OSes do not, for the time being, runany Microsoft applications, and so these people will use somethingelse.

To put it more directly: every time someonedecides to use a non-Microsoft OS, Microsoft's OS division,obviously, loses a customer. But, as things stand now, Microsoft'sapplications division loses a customer too. This is not such a bigdeal as long as almost everyone uses Microsoft OSes. But as soon asWindows' market share begins to slip, the math starts to look prettydismal for the people in Redmond.

This argument could be countered by saying thatMicrosoft could simply re-compile its applications to run under otherOSes. But this strategy goes against most normal corporate instincts.Again the case of Apple is instructive. When things started to gosouth for Apple, they should have ported their OS to cheap PChardware. But they didn't. Instead, they tried to make the most oftheir brilliant hardware, adding new features and expanding theproduct line. But this only had the effect of making their OS moredependent on these special hardware features, which made it worse forthem in the end.

Likewise, when Microsoft's position in the OSworld is threatened, their corporate instincts will tell them to pilemore new features into their operating systems, and then re-jiggertheir software applications to exploit those special features. Butthis will only have the effect of making their applications dependenton an OS with declining market share, and make it worse for them inthe end.

The operating system market is a death-trap, atar-pit, a slough of despond. There are only two reasons to invest inApple and Microsoft. (1) each of these companies is in what we wouldcall a co-dependency relationship with their customers. The customersWant To Believe, and Apple and Microsoft know how to give them whatthey want. (2) each company works very hard to add new features totheir OSes, which works to secure customer loyalty, at least for alittle while.

Accordingly, most of the remainder of this essaywill be about those two topics.

THE TECHNOSPHERE

Unix is the only OS remaining whose GUI (a vastsuite of code called the X Windows System) is separate from the OS inthe old sense of the phrase. This is to say that you can run Unix inpure command-line mode if you want to, with no windows, icons,mouses, etc. whatsoever, and it will still be Unix and capable ofdoing everything Unix is supposed to do. But the other OSes: MacOS,the Windows family, and BeOS, have their GUIs tangled up with theold-fashioned OS functions to the extent that they have to run in GUImode, or else they are not really running. So it's no longer reallypossible to think of GUIs as being distinct from the OS; they're nowan inextricable part of the OSes that they belong to--and they are byfar the largest part, and by far the most expensive and difficultpart to create.

There are only two ways to sell a product: priceand features. When OSes are free, OS companies cannot compete onprice, and so they compete on features. This means that they arealways trying to outdo each other writing code that, until recently,was not considered to be part of an OS at all: stuff like GUIs. Thisexplains a lot about how these companies behave.

It explains why Microsoft added a browser to theirOS, for example. It is easy to get free browsers, just as to get freeOSes. If browsers are free, and OSes are free, it would seem thatthere is no way to make money from browsers or OSes. But if you canintegrate a browser into the OS and thereby imbue both of them withnew features, you have a salable product.

Setting aside, for the moment, the fact that thismakes government anti-trust lawyers really mad, this strategy makessense. At least, it makes sense if you assume (as Microsoft'smanagement appears to) that the OS has to be protected at all costs.The real question is whether every new technological trend that comesdown the pike ought to be used as a crutch to maintain the OS'sdominant position. Confronted with the Web phenomenon, Microsoft hadto develop a really good web browser, and they did. But then they hada choice: they could have made that browser work on many differentOSes, which would give Microsoft a strong position in the Internetworld no matter what happened to their OS market share. Or they couldmake the browser one with the OS, gambling that this would make theOS look so modern and sexy that it would help to preserve theirdominance in that market. The problem is that when Microsoft's OSposition begins to erode (and since it is currently at something likeninety percent, it can't go anywhere but down) it will drageverything else down with it.

In your high school geology class you probablywere taught that all life on earth exists in a paper-thin shellcalled the biosphere, which is trapped between thousands of miles ofdead rock underfoot, and cold dead radioactive empty space above.Companies that sell OSes exist in a sort of technosphere. Underneathis technology that has already become free. Above is technology thathas yet to be developed, or that is too crazy and speculative to beproductized just yet. Like the Earth's biosphere, the technosphere isvery thin compared to what is above and what is below.

But it moves a lot faster. In various parts of ourworld, it is possible to go and visit rich fossil beds where skeletonlies piled upon skeleton, recent ones on top and more ancient onesbelow. In theory they go all the way back to the first single-celledorganisms. And if you use your imagination a bit, you can understandthat, if you hang around long enough, you'll become fossilized theretoo, and in time some more advanced organism will become fossilizedon top of you.

The fossil record--the La Brea Tar Pit--ofsoftware technology is the Internet. Anything that shows up there isfree for the taking (possibly illegal, but free). Executives atcompanies like Microsoft must get used to the experience--unthinkablein other industries--of throwing millions of dollars into thedevelopment of new technologies, such as Web browsers, and thenseeing the same or equivalent software show up on the Internet twoyears, or a year, or even just a few months, later.

By continuing to develop new technologies and addfeatures onto their products they can keep one step ahead of thefossilization process, but on certain days they must feel likemammoths caught at La Brea, using all their energies to pull theirfeet, over and over again, out of the sucking hot tar that wants tocover and envelop them.

Survival in this biosphere demands sharp tusks andheavy, stomping feet at one end of the organization, and Microsoftfamously has those. But trampling the other mammoths into the tar canonly keep you alive for so long. The danger is that in theirobsession with staying out of the fossil beds, these companies willforget about what lies above the biosphere: the realm of newtechnology. In other words, they must hang onto their primitiveweapons and crude competitive instincts, but also evolve powerfulbrains. This appears to be what Microsoft is doing with its researchdivision, which has been hiring smart people right and left (Here Ishould mention that although I know, and socialize with, severalpeople in that company's research division, we never talk aboutbusiness issues and I have little to no idea what the hell they areup to. I have learned much more about Microsoft by using the Linuxoperating system than I ever would have done by usingWindows).

Never mind how Microsoft used to makemoney; today, it is making its money on a kind of temporal arbitrage."Arbitrage," in the usual sense, means to make money by takingadvantage of differences in the price of something between differentmarkets. It is spatial, in other words, and hinges on the arbitrageurknowing what is going on simultaneously in different places.Microsoft is making money by taking advantage of differences in theprice of technology in different times. Temporal arbitrage, ifI may coin a phrase, hinges on the arbitrageur knowing whattechnologies people will pay money for next year, and how soonafterwards those same technologies will become free. What spatial andtemporal arbitrage have in common is that both hinge on thearbitrageur's being extremely well-informed; one about pricegradients across space at a given time, and the other about pricegradients over time in a given place.

So Apple/Microsoft shower new features upon theirusers almost daily, in the hopes that a steady stream of genuinetechnical innovations, combined with the "I want to believe"phenomenon, will prevent their customers from looking across the roadtowards the cheaper and better OSes that are available to them. Thequestion is whether this makes sense in the long run. If Microsoft isaddicted to OSes as Apple is to hardware, then they will bet thewhole farm on their OSes, and tie all of their new applications andtechnologies to them. Their continued survival will then depend onthese two things: adding more features to their OSes so thatcustomers will not switch to the cheaper alternatives, andmaintaining the image that, in some mysterious way, gives thosecustomers the feeling that they are getting something for theirmoney.

The latter is a truly strange and interestingcultural phenomenon.

THE INTERFACE CULTURE


A few years ago I walked into a grocery storesomewhere and was presented with the following tableau vivant:near the entrance a young couple were standing in front of a largecosmetics display. The man was stolidly holding a shopping basketbetween his hands while his mate raked blister-packs of makeup offthe display and piled them in. Since then I've always thought of thatman as the personification of an interesting human tendency: not onlyare we not offended to be dazzled by manufactured images, but welike it. We practically insist on it. We are eager tobe complicit in our own dazzlement: to pay money for a theme parkride, vote for a guy who's obviously lying to us, or stand thereholding the basket as it's filled up with cosmetics.

I was in Disney World recently, specifically thepart of it called the Magic Kingdom, walking up Main Street USA. Thisis a perfect gingerbready Victorian small town that culminates in aDisney castle. It was very crowded; we shuffled rather than walked.Directly in front of me was a man with a camcorder. It was one of thenew breed of camcorders where instead of peering through a viewfinderyou gaze at a flat-panel color screen about the size of a playingcard, which televises live coverage of whatever the camcorder isseeing. He was holding the appliance close to his face, so that itobstructed his view. Rather than go see a real small town for free,he had paid money to see a pretend one, and rather than see it withthe naked eye he was watching it on television.

And rather than stay home and read a book, I waswatching him.

Americans' preference for mediated experiences isobvious enough, and I'm not going to keep pounding it into theground. I'm not even going to make snotty comments about it--afterall, I was at Disney World as a paying customer. But it clearlyrelates to the colossal success of GUIs and so I have to talk aboutit some. Disney does mediated experiences better than anyone. If theyunderstood what OSes are, and why people use them, they could crushMicrosoft in a year or two.

In the part of Disney World called the AnimalKingdom there is a new attraction, slated to open in March 1999,called the Maharajah Jungle Trek. It was open for sneak previews whenI was there. This is a complete stone-by-stone reproduction of ahypothetical ruin in the jungles of India. According to itsbackstory, it was built by a local rajah in the 16th Century as agame reserve. He would go there with his princely guests to huntBengal tigers. As time went on it fell into disrepair and the tigersand monkeys took it over; eventually, around the time of India'sindependence, it became a government wildlife reserve, now open tovisitors.

The place looks more like what I have justdescribed than any actual building you might find in India. All thestones in the broken walls are weathered as if monsoon rains had beentrickling down them for centuries, the paint on the gorgeous muralsis flaked and faded just so, and Bengal tigers loll amid stumps ofbroken columns. Where modern repairs have been made to the ancientstructure, they've been done, not as Disney's engineers would dothem, but as thrifty Indian janitors would--with hunks of bamboo andrust-spotted hunks of rebar. The rust is painted on, or course, andprotected from real rust by a plastic clear-coat, but you can't tellunless you get down on your knees.

In one place you walk along a stone wall with aseries of old pitted friezes carved into it. One end of the wall hasbroken off and settled into the earth, perhaps because of somelong-forgotten earthquake, and so a broad jagged crack runs across apanel or two, but the story is still readable: first, primordialchaos leads to a flourishing of many animal species. Next, we see theTree of Life surrounded by diverse animals. This is an obviousallusion (or, in showbiz lingo, a tie-in) to the gigantic Tree ofLife that dominates the center of Disney's Animal Kingdom just as theCastle dominates the Magic Kingdom or the Sphere does Epcot. But it'srendered in historically correct style and could probably fool anyonewho didn't have a Ph.D. in Indian art history.

The next panel shows a mustachioed H. sapienschopping down the Tree of Life with a scimitar, and the animalsfleeing every which way. The one after that shows the misguided humangetting walloped by a tidal wave, part of a latter-day Delugepresumably brought on by his stupidity.

The final panel, then, portrays the Sapling ofLife beginning to grow back, but now Man has ditched the edged weaponand joined the other animals in standing around to adore and praiseit.

It is, in other words, a prophecy of theBottleneck: the scenario, commonly espoused among modern-dayenvironmentalists, that the world faces an upcoming period of graveecological tribulations that will last for a few decades or centuriesand end when we find a new harmonious modus vivendi withNature.

Taken as a whole the frieze is a pretty brilliantpiece of work. Obviously it's not an ancient Indian ruin,and some person or people now living deserve credit for it.But there are no signatures on the Maharajah's game reserve at DisneyWorld. There are no signatures on anything, because it wouldruin the whole effect to have long strings of production creditsdangling from every custom-worn brick, as they do from Hollywoodmovies.

Among Hollywood writers, Disney has the reputationof being a real wicked stepmother. It's not hard to see why. Disneyis in the business of putting out a product of seamless illusion--amagic mirror that reflects the world back better than it really is.But a writer is literally talking to his or her readers, not justcreating an ambience or presenting them with something to look at;and just as the command-line interface opens a much more direct andexplicit channel from user to machine than the GUI, so it is withwords, writer, and reader.

The word, in the end, is the only system ofencoding thoughts--the only medium--that is not fungible, thatrefuses to dissolve in the devouring torrent of electronic media (thericher tourists at Disney World wear t-shirts printed with the namesof famous designers, because designs themselves can bebootlegged easily and with impunity. The only way to make clothingthat cannot be legally bootlegged is to print copyrighted andtrademarked words on it; once you have taken that step, the clothingitself doesn't really matter, and so a t-shirt is as good asanything else. T-shirts with expensive words on them are now theinsignia of the upper class. T-shirts with cheap words, or no wordsat all, are for the commoners).

But this special quality of words and of writtencommunication would have the same effect on Disney's product asspray-painted graffiti on a magic mirror. So Disney does most of itscommunication without resorting to words, and for the most part, thewords aren't missed. Some of Disney's older properties, such as PeterPan, Winnie the Pooh, and Alice in Wonderland, came out of books. Butthe authors' names are rarely if ever mentioned, and you can't buythe original books at the Disney store. If you could, they would allseem old and queer, like very bad knockoffs of the purer, moreauthentic Disney versions. Compared to more recent productions likeBeauty and the Beast and Mulan, the Disney movies based on thesebooks (particularly Alice in Wonderland and Peter Pan) seem deeplybizarre, and not wholly appropriate for children. That stands toreason, because Lewis Carroll and J.M. Barrie were very strange men,and such is the nature of the written word that their personalstrangeness shines straight through all the layers of Disneyficationlike x-rays through a wall. Probably for this very reason, Disneyseems to have stopped buying books altogether, and now finds itsthemes and characters in folk tales, which have the lapidary,time-worn quality of the ancient bricks in the Maharajah'sruins.

If I can risk a broad generalization, most of thepeople who go to Disney World have zero interest in absorbing newideas from books. Which sounds snide, but listen: they have no qualmsabout being presented with ideas in other forms. Disney World isstuffed with environmental messages now, and the guides at AnimalKingdom can talk your ear off about biology.

If you followed those tourists home, you mightfind art, but it would be the sort of unsigned folk art that's forsale in Disney World's African- and Asian-themed stores. In generalthey only seem comfortable with media that have been ratified bygreat age, massive popular acceptance, or both.

In this world, artists are like the anonymous,illiterate stone carvers who built the great cathedrals of Europe andthen faded away into unmarked graves in the churchyard. The cathedralas a whole is awesome and stirring in spite, and possibly because, ofthe fact that we have no idea who built it. When we walk through itwe are communing not with individual stone carvers but with an entireculture.

Disney World works the same way. If you are anintellectual type, a reader or writer of books, the nicest thing youcan say about this is that the execution is superb. But it's easy tofind the whole environment a little creepy, because something ismissing: the translation of all its content into clear explicitwritten words, the attribution of the ideas to specific people. Youcan't argue with it. It seems as if a hell of a lot might bebeing glossed over, as if Disney World might be putting one over onus, and possibly getting away with all kinds of buried assumptionsand muddled thinking.

But this is precisely the same as what is lost inthe transition from the command-line interface to the GUI.

Disney and Apple/Microsoft are in the samebusiness: short-circuiting laborious, explicit verbal communicationwith expensively designed interfaces. Disney is a sort of userinterface unto itself--and more than just graphical. Let's call it aSensorial Interface. It can be applied to anything in the world, realor imagined, albeit at staggering expense.

Why are we rejecting explicit word-basedinterfaces, and embracing graphical or sensorial ones--a trend thataccounts for the success of both Microsoft and Disney?

Part of it is simply that the world is verycomplicated now--much more complicated than the hunter-gatherer worldthat our brains evolved to cope with--and we simply can't handle allof the details. We have to delegate. We have no choice but to trustsome nameless artist at Disney or programmer at Apple or Microsoft tomake a few choices for us, close off some options, and give us aconveniently packaged executive summary.

But more importantly, it comes out of the factthat, during this century, intellectualism failed, and everyone knowsit. In places like Russia and Germany, the common people agreed toloosen their grip on traditional folkways, mores, and religion, andlet the intellectuals run with the ball, and they screwed everythingup and turned the century into an abbatoir. Those wordy intellectualsused to be merely tedious; now they seem kind of dangerous aswell.

We Americans are the only ones who didn't getcreamed at some point during all of this. We are free and prosperousbecause we have inherited political and values systems fabricated bya particular set of eighteenth-century intellectuals who happened toget it right. But we have lost touch with those intellectuals, andwith anything like intellectualism, even to the point of not readingbooks any more, though we are literate. We seem much more comfortablewith propagating those values to future generations nonverbally,through a process of being steeped in media. Apparently this actuallyworks to some degree, for police in many lands are now complainingthat local arrestees are insisting on having their Miranda rightsread to them, just like perps in American TV cop shows. When it'sexplained to them that they are in a different country, where thoserights do not exist, they become outraged. Starsky and Hutch reruns,dubbed into diverse languages, may turn out, in the long run, to be agreater force for human rights than the Declaration ofIndependence.

A huge, rich, nuclear-tipped culture thatpropagates its core values through media steepage seems like a badidea. There is an obvious risk of running astray here. Words are theonly immutable medium we have, which is why they are the vehicle ofchoice for extremely important concepts like the Ten Commandments,the Koran, and the Bill of Rights. Unless the messages conveyed byour media are somehow pegged to a fixed, written set of precepts,they can wander all over the place and possibly dump loads of crapinto people's minds.

Orlando used to have a military installationcalled McCoy Air Force Base, with long runways from which B-52s couldtake off and reach Cuba, or just about anywhere else, with loads ofnukes. But now McCoy has been scrapped and repurposed. It has beenabsorbed into Orlando's civilian airport. The long runways are beingused to land 747-loads of tourists from Brazil, Italy, Russia andJapan, so that they can come to Disney World and steep in our mediafor a while.

To traditional cultures, especially word-basedones such as Islam, this is infinitely more threatening than theB-52s ever were. It is obvious, to everyone outside of the UnitedStates, that our arch-buzzwords, multiculturalism and diversity, arefalse fronts that are being used (in many cases unwittingly) toconceal a global trend to eradicate cultural differences. Thebasic tenet of multiculturalism (or "honoring diversity" or whateveryou want to call it) is that people need to stop judging eachother-to stop asserting (and, eventually, to stop believing)that this is right and that is wrong, thistrue and that false, one thing ugly and another thingbeautiful, that God exists and has this or that set ofqualities.

The lesson most people are taking home from theTwentieth Century is that, in order for a large number of differentcultures to coexist peacefully on the globe (or even in aneighborhood) it is necessary for people to suspend judgment in thisway. Hence (I would argue) our suspicion of, and hostility towards,all authority figures in modern culture. As David Foster Wallace hasexplained in his essay "E Unibus Pluram," this is the fundamentalmessage of television; it is the message that people take home,anyway, after they have steeped in our media long enough. It's notexpressed in these highfalutin terms, of course. It comes through asthe presumption that all authority figures--teachers, generals, cops,ministers, politicians--are hypocritical buffoons, and that hip jadedcoolness is the only way to be.

The problem is that once you have done away withthe ability to make judgments as to right and wrong, true and false,etc., there's no real culture left. All that remains is clogdancing and macrame. The ability to make judgments, to believethings, is the entire it point of having a culture. I thinkthis is why guys with machine guns sometimes pop up in places likeLuxor, and begin pumping bullets into Westerners. They perfectlyunderstand the lesson of McCoy Air Force Base. When their sons comehome wearing Chicago Bulls caps with the bills turned sideways, thedads go out of their minds.

The global anti-culture that has been conveyedinto every cranny of the world by television is a culture untoitself, and by the standards of great and ancient cultures like Islamand France, it seems grossly inferior, at least at first. The onlygood thing you can say about it is that it makes world wars andHolocausts less likely--and that is actually a pretty goodthing!

The only real problem is that anyone who has noculture, other than this global monoculture, is completely screwed.Anyone who grows up watching TV, never sees any religion orphilosophy, is raised in an atmosphere of moral relativism, learnsabout civics from watching bimbo eruptions on network TV news, andattends a university where postmodernists vie to outdo each other indemolishing traditional notions of truth and quality, is going tocome out into the world as one pretty feckless human being.And--again--perhaps the goal of all this is to make us feckless so wewon't nuke each other.

On the other hand, if you are raised within somespecific culture, you end up with a basic set of tools that you canuse to think about and understand the world. You might use thosetools to reject the culture you were raised in, but at least you'vegot some tools.

In this country, the people who run things--whopopulate major law firms and corporate boards--understand all of thisat some level. They pay lip service to multiculturalism and diversityand non-judgmentalness, but they don't raise their own children thatway. I have highly educated, technically sophisticated friends whohave moved to small towns in Iowa to live and raise their children,and there are Hasidic Jewish enclaves in New York where large numbersof kids are being brought up according to traditional beliefs. Anysuburban community might be thought of as a place where people whohold certain (mostly implicit) beliefs go to live among others whothink the same way.

And not only do these people feel someresponsibility to their own children, but to the country as a whole.Some of the upper class are vile and cynical, of course, but manyspend at least part of their time fretting about what direction thecountry is going in, and what responsibilities they have. And soissues that are important to book-reading intellectuals, such asglobal environmental collapse, eventually percolate through theporous buffer of mass culture and show up as ancient Hindu ruins inOrlando.

You may be asking: what the hell does all thishave to do with operating systems? As I've explained, there is no wayto explain the domination of the OS market by Apple/Microsoft withoutlooking to cultural explanations, and so I can't get anywhere, inthis essay, without first letting you know where I'm coming fromvis-a-vis contemporary culture.

Contemporary culture is a two-tiered system, likethe Morlocks and the Eloi in H.G. Wells's The Time Machine,except that it's been turned upside down. In The Time Machinethe Eloi were an effete upper class, supported by lots ofsubterranean Morlocks who kept the technological wheels turning. Butin our world it's the other way round. The Morlocks are in theminority, and they are running the show, because they understand howeverything works. The much more numerous Eloi learn everything theyknow from being steeped from birth in electronic media directed andcontrolled by book-reading Morlocks. So many ignorant people could bedangerous if they got pointed in the wrong direction, and so we'veevolved a popular culture that is (a) almost unbelievably infectiousand (b) neuters every person who gets infected by it, by renderingthem unwilling to make judgments and incapable of takingstands.

Morlocks, who have the energy and intelligence tocomprehend details, go out and master complex subjects and produceDisney-like Sensorial Interfaces so that Eloi can get the gistwithout having to strain their minds or endure boredom. ThoseMorlocks will go to India and tediously explore a hundred ruins, thencome home and built sanitary bug-free versions: highlight films, asit were. This costs a lot, because Morlocks insist on good coffee andfirst-class airline tickets, but that's no problem because Eloi liketo be dazzled and will gladly pay for it all.

Now I realize that most of this probably soundssnide and bitter to the point of absurdity: your basic snottyintellectual throwing a tantrum about those unlettered philistines.As if I were a self-styled Moses, coming down from the mountain allalone, carrying the stone tablets bearing the Ten Commandments carvedin immutable stone--the original command-line interface--and blowinghis stack at the weak, unenlightened Hebrews worshipping images. Notonly that, but it sounds like I'm pumping some sort of conspiracytheory.

But that is not where I'm going with this. Thesituation I describe, here, could be bad, but doesn't have tobe bad and isn't necessarily bad now:
 

MORLOCKS AND ELOI AT THE KEYBOARD


Back in the days of the command-line interface, userswere all Morlocks who had to convert their thoughts into alphanumericsymbols and type them in, a grindingly tedious process that strippedaway all ambiguity, laid bare all hidden assumptions, and cruellypunished laziness and imprecision. Then the interface-makers went towork on their GUIs, and introduced a new semiotic layer betweenpeople and machines. People who use such systems have abdicated theresponsibility, and surrendered the power, of sending bits directlyto the chip that's doing the arithmetic, and handed thatresponsibility and power over to the OS. This is tempting becausegiving clear instructions, to anyone or anything, is difficult. Wecannot do it without thinking, and depending on the complexity of thesituation, we may have to think hard about abstract things, andconsider any number of ramifications, in order to do a good job ofit. For most of us, this is hard work. We want things to be easier.How badly we want it can be measured by the size of Bill Gates'sfortune.

The OS has (therefore) become a sort ofintellectual labor-saving device that tries to translate humans'vaguely expressed intentions into bits. In effect we are asking ourcomputers to shoulder responsibilities that have always beenconsidered the province of human beings--we want them to understandour desires, to anticipate our needs, to foresee consequences, tomake connections, to handle routine chores without being asked, toremind us of what we ought to be reminded of while filtering outnoise.

At the upper (which is to say, closer to the user)levels, this is done through a set of conventions--menus, buttons,and so on. These work in the sense that analogies work: they helpEloi understand abstract or unfamiliar concepts by likening them tosomething known. But the loftier word "metaphor" is used.

The overarching concept of the MacOS was the"desktop metaphor" and it subsumed any number of lesser (andfrequently conflicting, or at least mixed) metaphors. Under a GUI, afile (frequently called "document") is metaphrased as a window on thescreen (which is called a "desktop"). The window is almost always toosmall to contain the document and so you "move around," or, morepretentiously, "navigate" in the document by "clicking and dragging"the "thumb" on the "scroll bar." When you "type" (using a keyboard)or "draw" (using a "mouse") into the "window" or use pull-down"menus" and "dialog boxes" to manipulate its contents, the results ofyour labors get stored (at least in theory) in a "file," and lateryou can pull the same information back up into another "window." Whenyou don't want it anymore, you "drag" it into the "trash."

There is massively promiscuous metaphor-mixinggoing on here, and I could deconstruct it 'til the cows come home,but I won't. Consider only one word: "document." When wedocument something in the real world, we make fixed,permanent, immutable records of it. But computer documents arevolatile, ephemeral constellations of data. Sometimes (as when you'vejust opened or saved them) the document as portrayed in the window isidentical to what is stored, under the same name, in a file on thedisk, but other times (as when you have made changes without savingthem) it is completely different. In any case, every time you hit"Save" you annihilate the previous version of the "document" andreplace it with whatever happens to be in the window at the moment.So even the word "save" is being used in a sense that is grotesquelymisleading---"destroy one version, save another" would be moreaccurate.

Anyone who uses a word processor for very longinevitably has the experience of putting hours of work into a longdocument and then losing it because the computer crashes or the powergoes out. Until the moment that it disappears from the screen, thedocument seems every bit as solid and real as if it had been typedout in ink on paper. But in the next moment, without warning, it iscompletely and irretrievably gone, as if it had never existed. Theuser is left with a feeling of disorientation (to say nothing ofannoyance) stemming from a kind of metaphor shear--you realize thatyou've been living and thinking inside of a metaphor that isessentially bogus.

So GUIs use metaphors to make computing easier,but they are bad metaphors. Learning to use them is essentially aword game, a process of learning new definitions of words like"window" and "document" and "save" that are different from, and inmany cases almost diametrically opposed to, the old. Somewhatimprobably, this has worked very well, at least from a commercialstandpoint, which is to say that Apple/Microsoft have made a lot ofmoney off of it. All of the other modern operating systems havelearned that in order to be accepted by users they must conceal theirunderlying gutwork beneath the same sort of spackle. This has someadvantages: if you know how to use one GUI operating system, you canprobably work out how to use any other in a few minutes. Everythingworks a little differently, like European plumbing--but with somefiddling around, you can type a memo or surf the web.

Most people who shop for OSes (if they bother toshop at all) are comparing not the underlying functions but thesuperficial look and feel. The average buyer of an OS is not reallypaying for, and is not especially interested in, the low-level codethat allocates memory or writes bytes onto the disk. What we'rereally buying is a system of metaphors. And--much moreimportant--what we're buying into is the underlying assumptionthat metaphors are a good way to deal with the world.

Recently a lot of new hardware has becomeavailable that gives computers numerous interesting ways of affectingthe real world: making paper spew out of printers, causing words toappear on screens thousands of miles away, shooting beams ofradiation through cancer patients, creating realistic moving picturesof the Titanic. Windows is now used as an OS for cash registers andbank tellers' terminals. My satellite TV system uses a sort of GUI tochange channels and show program guides. Modern cellular telephoneshave a crude GUI built into a tiny LCD screen. Even Legos now have aGUI: you can buy a Lego set called Mindstorms that enables you tobuild little Lego robots and program them through a GUI on yourcomputer.

So we are now asking the GUI to do a lot more thanserve as a glorified typewriter. Now we want to become a generalizedtool for dealing with reality. This has become a bonanza forcompanies that make a living out of bringing new technology to themass market.

Obviously you cannot sell a complicatedtechnological system to people without some sort of interface thatenables them to use it. The internal combustion engine was atechnological marvel in its day, but useless as a consumer good untila clutch, transmission, steering wheel and throttle were connected toit. That odd collection of gizmos, which survives to this day inevery car on the road, made up what we would today call a userinterface. But if cars had been invented after Macintoshes, carmakerswould not have bothered to gin up all of these arcane devices. Wewould have a computer screen instead of a dashboard, and a mouse (orat best a joystick) instead of a steering wheel, and we'd shift gearsby pulling down a menu:

PARK
---
REVERSE
---
NEUTRAL
----
3
2
1
---
Help...

A few lines of computer code can thus be made tosubstitute for any imaginable mechanical interface. The problem isthat in many cases the substitute is a poor one. Driving a carthrough a GUI would be a miserable experience. Even if the GUI wereperfectly bug-free, it would be incredibly dangerous, because menusand buttons simply can't be as responsive as direct mechanicalcontrols. My friend's dad, the gentleman who was restoring the MGB,never would have bothered with it if it had been equipped with a GUI.It wouldn't have been any fun.

The steering wheel and gearshift lever wereinvented during an era when the most complicated technology in mosthomes was a butter churn. Those early carmakers were simply lucky, inthat they could dream up whatever interface was best suited to thetask of driving an automobile, and people would learn it. Likewisewith the dial telephone and the AM radio. By the time of the SecondWorld War, most people knew several interfaces: they could not onlychurn butter but also drive a car, dial a telephone, turn on a radio,summon flame from a cigarette lighter, and change a lightbulb.

But now every little thing--wristwatches, VCRs,stoves--is jammed with features, and every feature is useless withoutan interface. If you are like me, and like most other consumers, youhave never used ninety percent of the available features on yourmicrowave oven, VCR, or cellphone. You don't even know that thesefeatures exist. The small benefit they might bring you is outweighedby the sheer hassle of having to learn about them. This has got to bea big problem for makers of consumer goods, because they can'tcompete without offering features.

It's no longer acceptable for engineers to inventa wholly novel user interface for every new product, as they did inthe case of the automobile, partly because it's too expensive andpartly because ordinary people can only learn so much. If the VCR hadbeen invented a hundred years ago, it would have come with athumbwheel to adjust the tracking and a gearshift to change betweenforward and reverse and a big cast-iron handle to load or to ejectthe cassettes. It would have had a big analog clock on the front ofit, and you would have set the time by moving the hands around on thedial. But because the VCR was invented when it was--during a sort ofawkward transitional period between the era of mechanical interfacesand GUIs--it just had a bunch of pushbuttons on the front, and inorder to set the time you had to push the buttons in just the rightway. This must have seemed reasonable enough to the engineersresponsible for it, but to many users it was simply impossible. Thusthe famous blinking 12:00 that appears on so many VCRs. Computerpeople call this "the blinking twelve problem". When they talk aboutit, though, they usually aren't talking about VCRs.

Modern VCRs usually have some kind of on-screenprogramming, which means that you can set the time and control otherfeatures through a sort of primitive GUI. GUIs have virtualpushbuttons too, of course, but they also have other types of virtualcontrols, like radio buttons, checkboxes, text entry boxes, dials,and scrollbars. Interfaces made out of these components seem to be alot easier, for many people, than pushing those little buttons on thefront of the machine, and so the blinking 12:00 itself isslowly disappearing from America's living rooms. The blinking twelveproblem has moved on to plague other technologies.

So the GUI has gone beyond being an interface topersonal computers, and become a sort of meta-interface that ispressed into service for every new piece of consumer technology. Itis rarely an ideal fit, but having an ideal, or even a goodinterface is no longer the priority; the important thing now ishaving some kind of interface that customers will actually use, sothat manufacturers can claim, with a straight face, that they areoffering new features.

We want GUIs largely because they are convenientand because they are easy-- or at least the GUI makes it seem thatway Of course, nothing is really easy and simple, and putting anice interface on top of it does not change that fact. A carcontrolled through a GUI would be easier to drive than one controlledthrough pedals and steering wheel, but it would be incrediblydangerous.

By using GUIs all the time we have insensiblybought into a premise that few people would have accepted if it werepresented to them bluntly: namely, that hard things can be made easy,and complicated things simple, by putting the right interface onthem. In order to understand how bizarre this is, imagine that bookreviews were written according to the same values system that weapply to user interfaces: "The writing in this book is marvelouslysimple-minded and glib; the author glosses over complicated subjectsand employs facile generalizations in almost every sentence. Readersrarely have to think, and are spared all of the difficulty and tediumtypically involved in reading old-fashioned books." As long as westick to simple operations like setting the clocks on our VCRs, thisis not so bad. But as we try to do more ambitious things with ourtechnologies, we inevitably run into the problem of:
 

METAPHOR SHEAR


I began using Microsoft Word as soon as the firstversion was released around 1985. After some initial hassles I foundit to be a better tool than MacWrite, which was its only competitionat the time. I wrote a lot of stuff in early versions of Word,storing it all on floppies, and transferred the contents of all myfloppies to my first hard drive, which I acquired around 1987. As newversions of Word came out I faithfully upgraded, reasoning that as awriter it made sense for me to spend a certain amount of money ontools.

Sometime in the mid-1980's I attempted to open oneof my old, circa-1985 Word documents using the version of Word thencurrent: 6.0 It didn't work. Word 6.0 did not recognize a documentcreated by an earlier version of itself. By opening it as a textfile, I was able to recover the sequences of letters that made up thetext of the document. My words were still there. But the formattinghad been run through a log chipper--the words I'd written wereinterrupted by spates of empty rectangular boxes andgibberish.

Now, in the context of a business (the chiefmarket for Word) this sort of thing is only an annoyance--one of theroutine hassles that go along with using computers. It's easy to buylittle file converter programs that will take care of this problem.But if you are a writer whose career is words, whose professionalidentity is a corpus of written documents, this kind of thing isextremely disquieting. There are very few fixed assumptions in myline of work, but one of them is that once you have written a word,it is written, and cannot be unwritten. The ink stains the paper, thechisel cuts the stone, the stylus marks the clay, and something hasirrevocably happened (my brother-in-law is a theologian who reads3250-year-old cuneiform tablets--he can recognize the handwriting ofparticular scribes, and identify them by name). But word-processingsoftware--particularly the sort that employs special, complex fileformats--has the eldritch power to unwrite things. A small change infile formats, or a few twiddled bits, and months' or years' literaryoutput can cease to exist.

Now this was technically a fault in theapplication (Word 6.0 for the Macintosh) not the operatingsystem (MacOS 7 point something) and so the initial target of myannoyance was the people who were responsible for Word. But. On theother hand, I could have chosen the "save as text" option in Word andsaved all of my documents as simple telegrams, and this problem wouldnot have arisen. Instead I had allowed myself to be seduced by all ofthose flashy formatting options that hadn't even existed until GUIshad come along to make them practicable. I had gotten into the habitof using them to make my documents look pretty (perhaps prettier thanthey deserved to look; all of the old documents on those floppiesturned out to be more or less crap). Now I was paying the price forthat self-indulgence. Technology had moved on and found ways to makemy documents look even prettier, and the consequence of it was thatall old ugly documents had ceased to exist.

It was--if you'll pardon me for a moment's strangelittle fantasy--as if I'd gone to stay at some resort, someexquisitely designed and art-directed hotel, placing myself in thehands of past masters of the Sensorial Interface, and had sat down inmy room and written a story in ballpoint pen on a yellow legal pad,and when I returned from dinner, discovered that the maid had takenmy work away and left behind in its place a quill pen and a stack offine parchment--explaining that the room looked ever so much finerthis way, and it was all part of a routine upgrade. But written onthese sheets of paper, in flawless penmanship, were long sequences ofwords chosen at random from the dictionary. Appalling, sure, but Icouldn't really lodge a complaint with the management, because bystaying at this resort I had given my consent to it. I hadsurrendered my Morlock credentials and become an Eloi.
 

LINUX

During the late 1980's and early 1990's I spent alot of time programming Macintoshes, and eventually decided for forkover several hundred dollars for an Apple product called theMacintosh Programmer's Workshop, or MPW. MPW had competitors, but itwas unquestionably the premier software development system for theMac. It was what Apple's own engineers used to write Macintosh code.Given that MacOS was far more technologically advanced, at the time,than its competition, and that Linux did not even exist yet, andgiven that this was the actual program used by Apple's world-classteam of creative engineers, I had high expectations. It arrived on astack of floppy disks about a foot high, and so there was plenty oftime for my excitement to build during the endless installationprocess. The first time I launched MPW, I was probably expecting somekind of touch-feely multimedia showcase. Instead it was austere,almost to the point of being intimidating. It was a scrolling windowinto which you could type simple, unformatted text. The system wouldthen interpret these lines of text as commands, and try to executethem.

It was, in other words, a glass teletype running acommand line interface. It came with all sorts of cryptic butpowerful commands, which could be invoked by typing their names, andwhich I learned to use only gradually. It was not until a few yearslater, when I began messing around with Unix, that I understood thatthe command line interface embodied in MPW was a re-creation ofUnix.

In other words, the first thing that Apple'shackers had done when they'd got the MacOS up and running--probablyeven before they'd gotten it up and running--was to re-createthe Unix interface, so that they would be able to get some usefulwork done. At the time, I simply couldn't get my mind around this,but: as far as Apple's hackers were concerned, the Mac's vauntedGraphical User Interface was an impediment, something to becircumvented before the little toaster even came out onto themarket.

Even before my Powerbook crashed and obliteratedmy big file in July 1995, there had been danger signs. An old collegebuddy of mine, who starts and runs high-tech companies in Boston, haddeveloped a commercial product using Macintoshes as the front end.Basically the Macs were high-performance graphics terminals, chosenfor their sweet user interface, giving users access to a largedatabase of graphical information stored on a network of much morepowerful, but less user-friendly, computers. This fellow was thesecond person who turned me on to Macintoshes, by the way, andthrough the mid-1980's we had shared the thrill of being high-techcognoscenti, using superior Apple technology in a world of DOS-usingknuckleheads. Early versions of my friend's system had worked well,he told me, but when several machines joined the network, mysteriouscrashes began to occur; sometimes the whole network would justfreeze. It was one of those bugs that could not be reproduced easily.Finally they figured out that these network crashes were triggeredwhenever a user, scanning the menus for a particular item, held downthe mouse button for more than a couple of seconds.

Fundamentally, the MacOS could only do one thingat a time. Drawing a menu on the screen is one thing. So when a menuwas pulled down, the Macintosh was not capable of doing anything elseuntil that indecisive user released the button.

This is not such a bad thing in a single-user,single-process machine (although it's a fairly bad thing), but it'sno good in a machine that is on a network, because being on a networkimplies some kind of continual low-level interaction with othermachines. By failing to respond to the network, the Mac caused anetwork-wide crash.

In order to work with other computers, and withnetworks, and with various different types of hardware, an OS must beincomparably more complicated and powerful than either MS-DOS or theoriginal MacOS. The only way of connecting to the Internet that'sworth taking seriously is PPP, the Point-to-Point Protocol, which(never mind the details) makes your computer--temporarily--afull-fledged member of the Global Internet, with its own uniqueaddress, and various privileges, powers, and responsibilitiesappertaining thereunto. Technically it means your machine is runningthe TCP/IP protocol, which, to make a long story short, revolvesaround sending packets of data back and forth, in no particularorder, and at unpredictable times, according to a clever and elegantset of rules. But sending a packet of data is one thing, and so an OSthat can only do one thing at a time cannot simultaneously be part ofthe Internet and do anything else. When TCP/IP was invented, runningit was an honor reserved for Serious Computers--mainframes andhigh-powered minicomputers used in technical and commercialsettings--and so the protocol is engineered around the assumptionthat every computer using it is a serious machine, capable of doingmany things at once. Not to put too fine a point on it, a Unixmachine. Neither MacOS nor MS-DOS was originally built with that inmind, and so when the Internet got hot, radical changes had to bemade.

When my Powerbook broke my heart, and when Wordstopped recognizing my old files, I jumped to Unix. The obviousalternative to MacOS would have been Windows. I didn't really haveanything against Microsoft, or Windows. But it was prettyobvious, now, that old PC operating systems were overreaching, andshowing the strain, and, perhaps, were best avoided until they hadlearned to walk and chew gum at the same time.

The changeover took place on a particular day inthe summer of 1995. I had been San Francisco for a couple of weeks,using my PowerBook to work on a document. The document was too big tofit onto a single floppy, and so I hadn't made a backup since leavinghome. The PowerBook crashed and wiped out the entire file.

It happened just as I was on my way out the doorto visit a company called Electric Communities, which in those dayswas in Los Altos. I took my PowerBook with me. My friends at ElectricCommunities were Mac users who had all sorts of utility software forunerasing files and recovering from disk crashes, and I was certain Icould get most of the file back.

As it turned out, two different Mac crash recoveryutilities were unable to find any trace that my file had everexisted. It was completely and systematically wiped out. We wentthrough that hard disk block by block and found disjointed fragmentsof countless old, discarded, forgotten files, but none of what Iwanted. The metaphor shear was especially brutal that day. It wassort of like watching the girl you've been in love with for ten yearsget killed in a car wreck, and then attending her autopsy, andlearning that underneath the clothes and makeup she was just fleshand blood.

I must have been reeling around the offices ofElectric Communities in some kind of primal Jungian fugue, because atthis moment three weirdly synchronistic things happened.

(1) Randy Farmer, a co-founder of the company,came in for a quick visit along with his family--he was recoveringfrom back surgery at the time. He had some hot gossip: "Windows 95mastered today." What this meant was that Microsoft's new operatingsystem had, on this day, been placed on a special compact disk knownas a golden master, which would be used to stamp out a jintillioncopies in preparation for its thunderous release a few weeks later.This news was received peevishly by the staff of ElectricCommunities, including one whose office door was plastered with theusual assortment of cartoons and novelties, e.g.

(2) a copy of a Dilbert cartoon in which Dilbert,the long-suffering corporate software engineer, encounters a portly,bearded, hairy man of a certain age--a bit like Santa Claus, butdarker, with a certain edge about him. Dilbert recognizes this man,based upon his appearance and affect, as a Unix hacker, and reactswith a certain mixture of nervousness, awe, and hostility. Dilbertjabs weakly at the disturbing interloper for a couple of frames; theUnix hacker listens with a kind of infuriating, beatific calm, then,in the last frame, reaches into his pocket. "Here's a nickel, kid,"he says, "go buy yourself a real computer."

(3) the owner of the door, and the cartoon, wasone Doug Barnes. Barnes was known to harbor certain hereticalopinions on the subject of operating systems. Unlike most Bay Areatechies who revered the Macintosh, considering it to be a truehacker's machine, Barnes was fond of pointing out that the Mac, withits hermetically sealed architecture, was actually hostile tohackers, who are prone to tinkering and dogmatic about openness. Bycontrast, the IBM-compatible line of machines, which can easily betaken apart and plugged back together, was much morehackable.

So when I got home I began messing around withLinux, which is one of many, many different concrete implementationsof the abstract, Platonic ideal called Unix. I was not lookingforward to changing over to a new OS, because my credit cards werestill smoking from all the money I'd spent on Mac hardware over theyears. But Linux's great virtue was, and is, that it would run onexactly the same sort of hardware as the Microsoft OSes--which is tosay, the cheapest hardware in existence. As if to demonstrate whythis was a great idea, I was, within a week or two of returning home,able to get my hand on a then-decent computer (a 33-MHz 486 box) forfree, because I knew a guy who worked in an office where theywere simply being thrown away. Once I got it home, I yanked the hoodoff, stuck my hands in, and began switching cards around. Ifsomething didn't work, I went to a used-computer outlet and pawedthrough a bin full of components and bought a new card for a fewbucks.

The availability of all this cheap but effectivehardware was an unintended consequence of decisions that had beenmade more than a decade earlier by IBM and Microsoft. When Windowscame out, and brought the GUI to a much larger market, the hardwareregime changed: the cost of color video cards and high-resolutionmonitors began to drop, and is dropping still. This free-for-allapproach to hardware meant that Windows was unavoidably clunkycompared to MacOS. But the GUI brought computing to such a vastaudience that volume went way up and prices collapsed. MeanwhileApple, which so badly wanted a clean, integrated OS with video neatlyintegrated into processing hardware, had fallen far behind in marketshare, at least partly because their beautiful hardware cost somuch.

But the price that we Mac owners had to pay forsuperior aesthetics and engineering was not merely a financial one.There was a cultural price too, stemming from the fact that wecouldn't open up the hood and mess around with it. Doug Barnes wasright. Apple, in spite of its reputation as the machine of choice ofscruffy, creative hacker types, had actually created a machine thatdiscouraged hacking, while Microsoft, viewed as a technologicallaggard and copycat, had created a vast, disorderly parts bazaar--aprimordial soup that eventually self-assembled into Linux.
 

THE HOLE HAWG OF OPERATING SYSTEMS


Unix has always lurked provocatively in thebackground of the operating system wars, like the Russian Army. Mostpeople know it only by reputation, and its reputation, as the Dilbertcartoon suggests, is mixed. But everyone seems to agree that if itcould only get its act together and stop surrendering vast tracts ofrich agricultural land and hundreds of thousands of prisoners of warto the onrushing invaders, it could stomp them (and all otheropposition) flat.

It is difficult to explain how Unix has earnedthis respect without going into mind-smashing technical detail.Perhaps the gist of it can be explained by telling a story aboutdrills.

The Hole Hawg is a drill made by the MilwaukeeTool Company. If you look in a typical hardware store you may findsmaller Milwaukee drills but not the Hole Hawg, which is too powerfuland too expensive for homeowners. The Hole Hawg does not have thepistol-like design of a cheap homeowner's drill. It is a cube ofsolid metal with a handle sticking out of one face and a chuckmounted in another. The cube contains a disconcertingly potentelectric motor. You can hold the handle and operate the trigger withyour index finger, but unless you are exceptionally strong you cannotcontrol the weight of the Hole Hawg with one hand; it is a two-handerall the way. In order to fight off the counter-torque of the HoleHawg you use a separate handle (provided), which you screw into oneside of the iron cube or the other depending on whether you are usingyour left or right hand to operate the trigger. This handle is not asleek, ergonomically designed item as it would be in a homeowner'sdrill. It is simply a foot-long chunk of regular galvanized pipe,threaded on one end, with a black rubber handle on the other. If youlose it, you just go to the local plumbing supply store and buyanother chunk of pipe.

During the Eighties I did some construction work.One day, another worker leaned a ladder against the outside of thebuilding that we were putting up, climbed up to the second-storylevel, and used the Hole Hawg to drill a hole through the exteriorwall. At some point, the drill bit caught in the wall. The Hole Hawg,following its one and only imperative, kept going. It spun theworker's body around like a rag doll, causing him to knock his ownladder down. Fortunately he kept his grip on the Hole Hawg, whichremained lodged in the wall, and he simply dangled from it andshouted for help until someone came along and reinstated theladder.

I myself used a Hole Hawg to drill many holesthrough studs, which it did as a blender chops cabbage. I also usedit to cut a few six-inch-diameter holes through an oldlath-and-plaster ceiling. I chucked in a new hole saw, went up to thesecond story, reached down between the newly installed floor joists,and began to cut through the first-floor ceiling below. Where myhomeowner's drill had labored and whined to spin the huge bit around,and had stalled at the slightest obstruction, the Hole Hawg rotatedwith the stupid consistency of a spinning planet. When the hole sawseized up, the Hole Hawg spun itself and me around, and crushed oneof my hands between the steel pipe handle and a joist, producing afew lacerations, each surrounded by a wide corona of deeply bruisedflesh. It also bent the hole saw itself, though not so badly that Icouldn't use it. After a few such run-ins, when I got ready to usethe Hole Hawg my heart actually began to pound with atavisticterror.

But I never blamed the Hole Hawg; I blamed myself.The Hole Hawg is dangerous because it does exactly what you tell itto. It is not bound by the physical limitations that are inherent ina cheap drill, and neither is it limited by safety interlocks thatmight be built into a homeowner's product by a liability-consciousmanufacturer. The danger lies not in the machine itself but in theuser's failure to envision the full consequences of the instructionshe gives to it.

A smaller tool is dangerous too, but for acompletely different reason: it tries to do what you tell it to, andfails in some way that is unpredictable and almost alwaysundesirable. But the Hole Hawg is like the genie of the ancient fairytales, who carries out his master's instructions literally andprecisely and with unlimited power, often with disastrous, unforeseenconsequences.

Pre-Hole Hawg, I used to examine the drillselection in hardware stores with what I thought was a judicious eye,scorning the smaller low-end models and hefting the big expensiveones appreciatively, wishing I could afford one of them babies. Now Iview them all with such contempt that I do not even consider them tobe real drills--merely scaled-up toys designed to exploit theself-delusional tendencies of soft-handed homeowners who want tobelieve that they have purchased an actual tool. Their plasticcasings, carefully designed and focus-group-tested to convey afeeling of solidity and power, seem disgustingly flimsy and cheap tome, and I am ashamed that I was ever bamboozled into buying suchknicknacks.

It is not hard to imagine what the world wouldlook like to someone who had been raised by contractors and who hadnever used any drill other than a Hole Hawg. Such a person, presentedwith the best and most expensive hardware-store drill, would not evenrecognize it as such. He might instead misidentify it as a child'stoy, or some kind of motorized screwdriver. If a salesperson or adeluded homeowner referred to it as a drill, he would laugh and tellthem that they were mistaken--they simply had their terminologywrong. His interlocutor would go away irritated, and probably feelingrather defensive about his basement full of cheap, dangerous, flashy,colorful tools.

Unix is the Hole Hawg of operating systems, andUnix hackers, like Doug Barnes and the guy in the Dilbert cartoon andmany of the other people who populate Silicon Valley, are likecontractor's sons who grew up using only Hole Hawgs. They might useApple/Microsoft OSes to write letters, play video games, or balancetheir checkbooks, but they cannot really bring themselves to takethese operating systems seriously.
 

THE ORAL TRADITION


Unix is hard to learn. The process of learning it isone of multiple small epiphanies. Typically you are just on the vergeof inventing some necessary tool or utility when you realize thatsomeone else has already invented it, and built it in, and thisexplains some odd file or directory or command that you have noticedbut never really understood before.

For example there is a command (a small program,part of the OS) called whoami, which enables you to ask the computerwho it thinks you are. On a Unix machine, you are always logged inunder some name--possibly even your own! What files you may workwith, and what software you may use, depends on your identity. When Istarted out using Linux, I was on a non-networked machine in mybasement, with only one user account, and so when I became aware ofthe whoami command it struck me as ludicrous. But once you are loggedin as one person, you can temporarily switch over to a pseudonym inorder to access different files. If your machine is on the Internet,you can log onto other computers, provided you have a user name and apassword. At that point the distant machine becomes no different inpractice from the one right in front of you. These changes inidentity and location can easily become nested inside each other,many layers deep, even if you aren't doing anything nefarious. Onceyou have forgotten who and where you are, the whoami command isindispensible. I use it all the time.

The file systems of Unix machines all have thesame general structure. On your flimsy operating systems, you cancreate directories (folders) and give them names like Frodo or MyStuff and put them pretty much anywhere you like. But under Unix thehighest level--the root--of the filesystem is always designated withthe single character "/" and it always contains the same set oftop-level directories:

/usr
/etc
/var
/bin
/proc
/boot
/home
/root
/sbin
/dev
/lib
/tmp
 

and each of these directories typically has itsown distinct structure of subdirectories. Note the obsessive use ofabbreviations and avoidance of capital letters; this is a systeminvented by people to whom repetitive stress disorder is what blacklung is to miners. Long names get worn down to three-letter nubbins,like stones smoothed by a river.

This is not the place to try to explain why eachof the above directories exists, and what is contained in it. Atfirst it all seems obscure; worse, it seems deliberatelyobscure. When I started using Linux I was accustomed to being able tocreate directories wherever I wanted and to give them whatever namesstruck my fancy. Under Unix you are free to do that, of course (youare free to do anything) but as you gain experience with thesystem you come to understand that the directories listed above werecreated for the best of reasons and that your life will be mucheasier if you follow along (within /home, by the way, you have prettymuch unlimited freedom).

After this kind of thing has happened severalhundred or thousand times, the hacker understands why Unix is the wayit is, and agrees that it wouldn't be the same any other way. It isthis sort of acculturation that gives Unix hackers their confidencein the system, and the attitude of calm, unshakable, annoyingsuperiority captured in the Dilbert cartoon. Windows 95 and MacOS areproducts, contrived by engineers in the service of specificcompanies. Unix, by contrast, is not so much a product as it is apainstakingly compiled oral history of the hacker subculture. It isour Gilgamesh epic.

What made old epics like Gilgamesh so powerful andso long-lived was that they were living bodies of narrative that manypeople knew by heart, and told over and over again--making their ownpersonal embellishments whenever it struck their fancy. The badembellishments were shouted down, the good ones picked up by others,polished, improved, and, over time, incorporated into the story.Likewise, Unix is known, loved, and understood by so many hackersthat it can be re-created from scratch whenever someone needs it.This is very difficult to understand for people who are accustomed tothinking of OSes as things that absolutely have to bebought.

Many hackers have launched more or less successfulre-implementations of the Unix ideal. Each one brings in newembellishments. Some of them die out quickly, some are merged withsimilar, parallel innovations created by different hackers attackingthe same problem, others still are embraced, and adopted into theepic. Thus Unix has slowly accreted around a simple kernel andacquired a kind of complexity and asymmetry about it that is organic,like the roots of a tree, or the branchings of a coronary artery.Understanding it is more like anatomy than physics.

For at least a year, prior to my adoption ofLinux, I had been hearing about it. Credible, well-informed peoplekept telling me that a bunch of hackers had got together animplentation of Unix that could be downloaded, free of charge, fromthe Internet. For a long time I could not bring myself to take thenotion seriously. It was like hearing rumors that a group of modelrocket enthusiasts had created a completely functional Saturn V byexchanging blueprints on the Net and mailing valves and flanges toeach other.

But it's true. Credit for Linux generally goes toits human namesake, one Linus Torvalds, a Finn who got the wholething rolling in 1991 when he used some of the GNU tools to write thebeginnings of a Unix kernel that could run on PC-compatible hardware.And indeed Torvalds deserves all the credit he has ever gotten, and awhole lot more. But he could not have made it happen by himself, anymore than Richard Stallman could have. To write code at all, Torvaldshad to have cheap but powerful development tools, and these he gotfrom Stallman's GNU project.

And he had to have cheap hardware on which towrite that code. Cheap hardware is a much harder thing to arrangethan cheap software; a single person (Stallman) can write softwareand put it up on the Net for free, but in order to make hardware it'snecessary to have a whole industrial infrastructure, which is notcheap by any stretch of the imagination. Really the only way to makehardware cheap is to punch out an incredible number of copies of it,so that the unit cost eventually drops. For reasons alreadyexplained, Apple had no desire to see the cost of hardware drop. Theonly reason Torvalds had cheap hardware was Microsoft.

Microsoft refused to go into the hardwarebusiness, insisted on making its software run on hardware that anyonecould build, and thereby created the market conditions that allowedhardware prices to plummet. In trying to understand the Linuxphenomenon, then, we have to look not to a single innovator but to asort of bizarre Trinity: Linus Torvalds, Richard Stallman, and BillGates. Take away any of these three and Linux would not exist.
 

OS SHOCK


Young Americans who leave their great big homogeneouscountry and visit some other part of the world typically go throughseveral stages of culture shock: first, dumb wide-eyed astonishment.Then a tentative engagement with the new country's manners, cuisine,public transit systems and toilets, leading to a brief period offatuous confidence that they are instant experts on the new country.As the visit wears on, homesickness begins to set in, and thetraveler begins to appreciate, for the first time, how much he or shetook for granted at home. At the same time it begins to seem obviousthat many of one's own cultures and traditions are essentiallyarbitrary, and could have been different; driving on the right sideof the road, for example. When the traveler returns home and takesstock of the experience, he or she may have learned a good deal moreabout America than about the country they went to visit.

For the same reasons, Linux is worth trying. It isa strange country indeed, but you don't have to live there; a briefsojourn suffices to give some flavor of the place and--moreimportantly--to lay bare everything that is taken for granted, andall that could have been done differently, under Windows orMacOS.

You can't try it unless you install it. With anyother OS, installing it would be a straightforward transaction: inexchange for money, some company would give you a CD-ROM, and youwould be on your way. But a lot is subsumed in that kind oftransaction, and has to be gone through and picked apart.

We like plain dealings and straightforwardtransactions in America. If you go to Egypt and, say, take a taxisomewhere, you become a part of the taxi driver's life; he refuses totake your money because it would demean your friendship, he followsyou around town, and weeps hot tears when you get in some other guy'staxi. You end up meeting his kids at some point, and have to devoteall sort of ingenuity to finding some way to compensate him withoutinsulting his honor. It is exhausting. Sometimes you just want asimple Manhattan-style taxi ride.

But in order to have an American-style setup,where you can just go out and hail a taxi and be on your way, theremust exist a whole hidden apparatus of medallions, inspectors,commissions, and so forth--which is fine as long as taxis are cheapand you can always get one. When the system fails to work in someway, it is mysterious and infuriating and turns otherwise reasonablepeople into conspiracy theorists. But when the Egyptian system breaksdown, it breaks down transparently. You can't get a taxi, but yourdriver's nephew will show up, on foot, to explain the problem andapologize.

Microsoft and Apple do things the Manhattan way,with vast complexity hidden behind a wall of interface. Linux doesthings the Egypt way, with vast complexity strewn about all over thelandscape. If you've just flown in from Manhattan, your first impulsewill be to throw up your hands and say "For crying out loud! Will youpeople get a grip on yourselves!?" But this does not make friends inLinux-land any better than it would in Egypt.

You can suck Linux right out of the air, as itwere, by downloading the right files and putting them in the rightplaces, but there probably are not more than a few hundred people inthe world who could create a functioning Linux system in that way.What you really need is a distribution of Linux, which means aprepackaged set of files. But distributions are a separate thing fromLinux per se.

Linux per se is not a specific set of onesand zeroes, but a self-organizing Net subculture. The end result ofits collective lucubrations is a vast body of source code, almost allwritten in C (the dominant computer programming language). "Sourcecode" just means a computer program as typed in and edited by somehacker. If it's in C, the file name will probably have .c or .cpp onthe end of it, depending on which dialect was used; if it's in someother language it will have some other suffix. Frequently these sortsof files can be found in a directory with the name /src which is thehacker's Hebraic abbreviation of "source."

Source files are useless to your computer, and oflittle interest to most users, but they are of gigantic cultural andpolitical significance, because Microsoft and Apple keep them secretwhile Linux makes them public. They are the family jewels. They arethe sort of thing that in Hollywood thrillers is used as a McGuffin:the plutonium bomb core, the top-secret blueprints, the suitcase ofbearer bonds, the reel of microfilm. If the source files for Windowsor MacOS were made public on the Net, then those OSes would becomefree, like Linux--only not as good, because no one would be around tofix bugs and answer questions. Linux is "open source" softwaremeaning, simply, that anyone can get copies of its source codefiles.

Your computer doesn't want source code any morethan you do; it wants object code. Object code files typically havethe suffix .o and are unreadable all but a few, highly strangehumans, because they consist of ones and zeroes. Accordingly, thissort of file commonly shows up in a directory with the name /bin, for"binary."

Source files are simply ASCII text files. ASCIIdenotes a particular way of encoding letters into bit patterns. In anASCII file, each character has eight bits all to itself. This createsa potential "alphabet" of 256 distinct characters, in that eightbinary digits can form that many unique patterns. In practice, ofcourse, we tend to limit ourselves to the familiar letters anddigits. The bit-patterns used to represent those letters and digitsare the same ones that were physically punched into the paper tape bymy high school teletype, which in turn were the same one used by thetelegraph industry for decades previously. ASCII text files, in otherwords, are telegrams, and as such they have no typographical frills.But for the same reason they are eternal, because the code neverchanges, and universal, because every text editing and wordprocessing software ever written knows about this code.

Therefore just about any software can be used tocreate, edit, and read source code files. Object code files, then,are created from these source files by a piece of software called acompiler, and forged into a working application by another piece ofsoftware called a linker.

The triad of editor, compiler, and linker, takentogether, form the core of a software development system. Now, it ispossible to spend a lot of money on shrink-wrapped developmentsystems with lovely graphical user interfaces and various ergonomicenhancements. In some cases it might even be a good and reasonableway to spend money. But on this side of the road, as it were, thevery best software is usually the free stuff. Editor, compiler andlinker are to hackers what ponies, stirrups, and archery sets were tothe Mongols. Hackers live in the saddle, and hack on their own toolseven while they are using them to create new applications. It isquite inconceivable that superior hacking tools could have beencreated from a blank sheet of paper by product engineers. Even ifthey are the brightest engineers in the world they are simplyoutnumbered.

In the GNU/Linux world there are two major textediting programs: the minimalist vi (known in some implementations aselvis) and the maximalist emacs. I use emacs, which might be thoughtof as a thermonuclear word processor. It was created by RichardStallman; enough said. It is written in Lisp, which is the onlycomputer language that is beautiful. It is colossal, and yet it onlyedits straight ASCII text files, which is to say, no fonts, noboldface, no underlining. In other words, the engineer-hours that, inthe case of Microsoft Word, were devoted to features like mail merge,and the ability to embed feature-length motion pictures in corporatememoranda, were, in the case of emacs, focused with maniacalintensity on the deceptively simple-seeming problem of editing text.If you are a professional writer--i.e., if someone else is gettingpaid to worry about how your words are formatted and printed--emacsoutshines all other editing software in approximately the same waythat the noonday sun does the stars. It is not just bigger andbrighter; it simply makes everything else vanish. For page layout andprinting you can use TeX: a vast corpus of typesetting lore writtenin C and also available on the Net for free.

I could say a lot about emacs and TeX, but rightnow I am trying to tell a story about how to actually install Linuxon your machine. The hard-core survivalist approach would be todownload an editor like emacs, and the GNU Tools--the compiler andlinker--which are polished and excellent to the same degree as emacs.Equipped with these, one would be able to start downloading ASCIIsource code files (/src) and compiling them into binary object codefiles (/bin) that would run on the machine. But in order to evenarrive at this point--to get emacs running, for example--you have tohave Linux actually up and running on your machine. And even aminimal Linux operating system requires thousands of binary files allacting in concert, and arranged and linked together justso.

Several entities have therefore taken it uponthemselves to create "distributions" of Linux. If I may extend theEgypt analogy slightly, these entities are a bit like tour guides whomeet you at the airport, who speak your language, and who help guideyou through the initial culture shock. If you are an Egyptian, ofcourse, you see it the other way; tour guides exist to keep brutishoutlanders from traipsing through your mosques and asking you thesame questions over and over and over again.

Some of these tour guides are commercialorganizations, such as Red Hat Software, which makes a Linuxdistribution called Red Hat that has a relatively commercial sheen toit. In most cases you put a Red Hat CD-ROM into your PC and rebootand it handles the rest. Just as a tour guide in Egypt will expectsome sort of compensation for his services, commercial distributionsneed to be paid for. In most cases they cost almost nothing and arewell worth it.

I use a distribution called Debian (the word is acontraction of "Deborah" and "Ian") which is non-commercial. It isorganized (or perhaps I should say "it has organized itself") alongthe same lines as Linux in general, which is to say that it consistsof volunteers who collaborate over the Net, each responsible forlooking after a different chunk of the system. These people havebroken Linux down into a number of packages, which are compressedfiles that can be downloaded to an already functioning Debian Linuxsystem, then opened up and unpacked using a free installerapplication. Of course, as such, Debian has no commercial arm--nodistribution mechanism. You can download all Debian packages over theNet, but most people will want to have them on a CD-ROM. Severaldifferent companies have taken it upon themselves to decoct all ofthe current Debian packages onto CD-ROMs and then sell them. I buymine from Linux Systems Labs. The cost for a three-disc set,containing Debian in its entirety, is less than three dollars. But(and this is an important distinction) not a single penny of thatthree dollars is going to any of the coders who created Linux, nor tothe Debian packagers. It goes to Linux Systems Labs and it pays, notfor the software, or the packages, but for the cost of stamping outthe CD-ROMs.

Every Linux distribution embodies some more orless clever hack for circumventing the normal boot process andcausing your computer, when it is turned on, to organize itself, notas a PC running Windows, but as a "host" running Unix. This isslightly alarming the first time you see it, but completely harmless.When a PC boots up, it goes through a little self-test routine,taking an inventory of available disks and memory, and then beginslooking around for a disk to boot up from. In any normal Windowscomputer that disk will be a hard drive. But if you have your systemconfigured right, it will look first for a floppy or CD-ROM disk, andboot from that if one is available.

Linux exploits this chink in the defenses. Yourcomputer notices a bootable disk in the floppy or CD-ROM drive, loadsin some object code from that disk, and blindly begins to execute it.But this is not Microsoft or Apple code, this is Linux code, and soat this point your computer begins to behave very differently fromwhat you are accustomed to. Cryptic messages began to scroll up thescreen. If you had booted a commercial OS, you would, at this point,be seeing a "Welcome to MacOS" cartoon, or a screen filled withclouds in a blue sky, and a Windows logo. But under Linux you get along telegram printed in stark white letters on a black screen. Thereis no "welcome!" message. Most of the telegram has thesemi-inscrutable menace of graffiti tags.

Dec 14 15:04:15 theRev syslogd 1.3-3#17: restart. Dec 14 15:04:15theRev kernel: klogd 1.3-3, log source = /proc/kmsg started. Dec 1415:04:15 theRev kernel: Loaded 3535 symbols from /System.map. Dec 1415:04:15 theRev kernel: Symbols match kernel version 2.0.30. Dec 1415:04:15 theRev kernel: No module symbols loaded. Dec 14 15:04:15theRev kernel: Intel MultiProcessor Specification v1.4 Dec 1415:04:15 theRev kernel: Virtual Wire compatibility mode. Dec 1415:04:15 theRev kernel: OEM ID: INTEL Product ID: 440FX APIC at:0xFEE00000 Dec 14 15:04:15 theRev kernel: Processor #0 Pentium(tm)Pro APIC version 17 Dec 14 15:04:15 theRev kernel: Processor #1Pentium(tm) Pro APIC version 17 Dec 14 15:04:15 theRev kernel: I/OAPIC #2 Version 17 at 0xFEC00000. Dec 14 15:04:15 theRev kernel:Processors: 2 Dec 14 15:04:15 theRev kernel: Console: 16 point font,400 scans Dec 14 15:04:15 theRev kernel: Console: colour VGA+ 80x25,1 virtual console (max 63) Dec 14 15:04:15 theRev kernel:pcibios_init : BIOS32 Service Directory structure at 0x000fdb70 Dec14 15:04:15 theRev kernel: pcibios_init : BIOS32 Service Directoryentry at 0xfdb80 Dec 14 15:04:15 theRev kernel: pcibios_init : PCIBIOS revision 2.10 entry at 0xfdba1 Dec 14 15:04:15 theRev kernel:Probing PCI hardware. Dec 14 15:04:15 theRev kernel: Warning :Unknown PCI device (10b7:9001). Please read include/linux/pci.h Dec14 15:04:15 theRev kernel: Calibrating delay loop.. ok - 179.40BogoMIPS Dec 14 15:04:15 theRev kernel: Memory: 64268k/66556kavailable (700k kernel code, 384k reserved, 1204k data) Dec 1415:04:15 theRev kernel: Swansea University Computer Society NET3.035for Linux 2.0 Dec 14 15:04:15 theRev kernel: NET3: Unix domainsockets 0.13 for Linux NET3.035. Dec 14 15:04:15 theRev kernel:Swansea University Computer Society TCP/IP for NET3.034 Dec 1415:04:15 theRev kernel: IP Protocols: ICMP, UDP, TCP Dec 14 15:04:15theRev kernel: Checking 386/387 coupling... Ok, fpu using exception16 error reporting. Dec 14 15:04:15 theRev kernel: Checking 'hlt'instruction... Ok. Dec 14 15:04:15 theRev kernel: Linux version2.0.30 (root@theRev) (gcc version 2.7.2.1) #15 Fri Mar 27 16:37:24PST 1998 Dec 14 15:04:15 theRev kernel: Booting processor 1 stack00002000: Calibrating delay loop.. ok - 179.40 BogoMIPS Dec 1415:04:15 theRev kernel: Total of 2 processors activated (358.81BogoMIPS). Dec 14 15:04:15 theRev kernel: Serial driver version 4.13with no serial options enabled Dec 14 15:04:15 theRev kernel: tty00at 0x03f8 (irq = 4) is a 16550A Dec 14 15:04:15 theRev kernel: tty01at 0x02f8 (irq = 3) is a 16550A Dec 14 15:04:15 theRev kernel: lp1 at0x0378, (polling) Dec 14 15:04:15 theRev kernel: PS/2 auxiliarypointing device detected -- driver installed. Dec 14 15:04:15 theRevkernel: Real Time Clock Driver v1.07 Dec 14 15:04:15 theRev kernel:loop: registered device at major 7 Dec 14 15:04:15 theRev kernel:ide: i82371 PIIX (Triton) on PCI bus 0 function 57 Dec 14 15:04:15theRev kernel: ide0: BM-DMA at 0xffa0-0xffa7 Dec 14 15:04:15 theRevkernel: ide1: BM-DMA at 0xffa8-0xffaf Dec 14 15:04:15 theRev kernel:hda: Conner Peripherals 1275MB - CFS1275A, 1219MB w/64kB Cache, LBA,CHS=619/64/63 Dec 14 15:04:15 theRev kernel: hdb: Maxtor 84320A5,4119MB w/256kB Cache, LBA, CHS=8928/15/63, DMA Dec 14 15:04:15 theRevkernel: hdc: , ATAPI CDROM drive Dec 15 11:58:06 theRev kernel: ide0at 0x1f0-0x1f7,0x3f6 on irq 14 Dec 15 11:58:06 theRev kernel: ide1 at0x170-0x177,0x376 on irq 15 Dec 15 11:58:06 theRev kernel: Floppydrive(s): fd0 is 1.44M Dec 15 11:58:06 theRev kernel: Started kswapdv 1.4.2.2 Dec 15 11:58:06 theRev kernel: FDC 0 is a NationalSemiconductor PC87306 Dec 15 11:58:06 theRev kernel: md driver 0.35MAX_MD_DEV=4, MAX_REAL=8 Dec 15 11:58:06 theRev kernel: PPP: version2.2.0 (dynamic channel allocation) Dec 15 11:58:06 theRev kernel: TCPcompression code copyright 1989 Regents of the University ofCalifornia Dec 15 11:58:06 theRev kernel: PPP Dynamic channelallocation code copyright 1995 Caldera, Inc. Dec 15 11:58:06 theRevkernel: PPP line discipline registered. Dec 15 11:58:06 theRevkernel: SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels,max=256). Dec 15 11:58:06 theRev kernel: eth0: 3Com 3c900 Boomerang10Mbps/Combo at 0xef00, 00:60:08:a4:3c:db, IRQ 10 Dec 15 11:58:06theRev kernel: 8K word-wide RAM 3:5 Rx:Tx split, 10base2 interface.Dec 15 11:58:06 theRev kernel: Enabling bus-master transmits andwhole-frame receives. Dec 15 11:58:06 theRev kernel: 3c59x.c:v0.491/2/98 Donald Beckerhttp://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html Dec 15 11:58:06theRev kernel: Partition check: Dec 15 11:58:06 theRev kernel: hda:hda1 hda2 hda3 Dec 15 11:58:06 theRev kernel: hdb: hdb1 hdb2 Dec 1511:58:06 theRev kernel: VFS: Mounted root (ext2 filesystem) readonly.Dec 15 11:58:06 theRev kernel: Adding Swap: 16124k swap-space(priority -1) Dec 15 11:58:06 theRev kernel: EXT2-fs warning: maximalmount count reached, running e2fsck is recommended Dec 15 11:58:06theRev kernel: hdc: media changed Dec 15 11:58:06 theRev kernel:ISO9660 Extensions: RRIP_1991A Dec 15 11:58:07 theRev syslogd1.3-3#17: restart. Dec 15 11:58:09 theRev diald[87]: Unableto open options file /etc/diald/diald.options: No such file ordirectory Dec 15 11:58:09 theRev diald[87]: No devicespecified. You must have at least one device! Dec 15 11:58:09 theRevdiald[87]: You must define a connector script (option'connect'). Dec 15 11:58:09 theRev diald[87]: You must definethe remote ip address. Dec 15 11:58:09 theRev diald[87]: Youmust define the local ip address. Dec 15 11:58:09 theRevdiald[87]: Terminating due to damaged reconfigure.

The only parts of this that are readable, fornormal people, are the error messages and warnings. And yet it'snoteworthy that Linux doesn't stop, or crash, when it encounters anerror; it spits out a pithy complaint, gives up on whatever processeswere damaged, and keeps on rolling. This was decidedly not true ofthe early versions of Apple and Microsoft OSes, for the simple reasonthat an OS that is not capable of walking and chewing gum at the sametime cannot possibly recover from errors. Looking for, and dealingwith, errors requires a separate process running in parallel with theone that has erred. A kind of superego, if you will, that keeps aneye on all of the others, and jumps in when one goes astray. Now thatMacOS and Windows can do more than one thing at a time they are muchbetter at dealing with errors than they used to be, but they are noteven close to Linux or other Unices in this respect; and theirgreater complexity has made them vulnerable to new types oferrors.

FALLIBILITY, ATONEMENT, REDEMPTION, TRUST, AND OTHER ARCANETECHNICAL CONCEPTS

Linux is not capable of having any centrallyorganized policies dictating how to write error messages anddocumentation, and so each programmer writes his own. Usually theyare in English even though tons of Linux programmers are Europeans.Frequently they are funny. Always they are honest. If something badhas happened because the software simply isn't finished yet, orbecause the user screwed something up, this will be statedforthrightly. The command line interface makes it easy for programsto dribble out little comments, warnings, and messages here andthere. Even if the application is imploding like a damaged submarine,it can still usually eke out a little S.O.S. message. Sometimes whenyou finish working with a program and shut it down, you find that ithas left behind a series of mild warnings and low-grade errormessages in the command-line interface window from which you launchedit. As if the software were chatting to you about how it was doingthe whole time you were working with it.

Documentation, under Linux, comes in the form ofman (short for manual) pages. You can access these either through aGUI (xman) or from the command line (man). Here is a sample from theman page for a program called rsh:

"Stop signals stop the local rsh process only;this is arguably wrong, but currently hard to fix for reasons toocomplicated to explain here."

The man pages contain a lot of such material,which reads like the terse mutterings of pilots wrestling with thecontrols of damaged airplanes. The general feel is of a thousandmonumental but obscure struggles seen in the stop-action light of astrobe. Each programmer is dealing with his own obstacles and bugs;he is too busy fixing them, and improving the software, to explainthings at great length or to maintain elaboratepretensions.

In practice you hardly ever encounter a seriousbug while running Linux. When you do, it is almost always withcommercial software (several vendors sell software that runs underLinux). The operating system and its fundamental utility programs aretoo important to contain serious bugs. I have been running Linuxevery day since late 1995 and have seen many application programs godown in flames, but I have never seen the operating system crash.Never. Not once. There are quite a few Linux systems that have beenrunning continuously and working hard for months or years withoutneeding to be rebooted.

Commercial OSes have to adopt the same officialstance towards errors as Communist countries had towards poverty. Fordoctrinal reasons it was not possible to admit that poverty was aserious problem in Communist countries, because the whole point ofCommunism was to eradicate poverty. Likewise, commercial OS companieslike Apple and Microsoft can't go around admitting that theirsoftware has bugs and that it crashes all the time, any more thanDisney can issue press releases stating that Mickey Mouse is an actorin a suit.

This is a problem, because errors do exist andbugs do happen. Every few months Bill Gates tries to demo a newMicrosoft product in front of a large audience only to have it blowup in his face. Commercial OS vendors, as a direct consequence ofbeing commercial, are forced to adopt the grossly disingenuousposition that bugs are rare aberrations, usually someone else'sfault, and therefore not really worth talking about in any detail.This posture, which everyone knows to be absurd, is not limited topress releases and ad campaigns. It informs the whole way thesecompanies do business and relate to their customers. If thedocumentation were properly written, it would mention bugs, errors,and crashes on every single page. If the on-line help systems thatcome with these OSes reflected the experiences and concerns of theirusers, they would largely be devoted to instructions on how to copewith crashes and errors.

But this does not happen. Joint stock corporationsare wonderful inventions that have given us many excellent goods andservices. They are good at many things. Admitting failure is not oneof them. Hell, they can't even admit minor shortcomings.

Of course, this behavior is not as pathological ina corporation as it would be in a human being. Most people, nowadays,understand that corporate press releases are issued for the benefitof the corporation's shareholders and not for the enlightenment ofthe public. Sometimes the results of this institutional dishonestycan be dreadful, as with tobacco and asbestos. In the case ofcommercial OS vendors it is nothing of the kind, of course; it ismerely annoying.

Some might argue that consumer annoyance, overtime, builds up into a kind of hardened plaque that can concealserious decay, and that honesty might therefore be the best policy inthe long run; the jury is still out on this in the operating systemmarket. The business is expanding fast enough that it's still muchbetter to have billions of chronically annoyed customers thanmillions of happy ones.

Most system administrators I know who work withWindows NT all the time agree that when it hits a snag, it has to bere-booted, and when it gets seriously messed up, the only way to fixit is to re-install the operating system from scratch. Or at leastthis is the only way that they know of to fix it, whichamounts to the same thing. It is quite possible that the engineers atMicrosoft have all sorts of insider knowledge on how to fix thesystem when it goes awry, but if they do, they do not seem to begetting the message out to any of the actual system administrators Iknow.

Because Linux is not commercial--because it is, infact, free, as well as rather difficult to obtain, install, andoperate--it does not have to maintain any pretensions as to itsreliability. Consequently, it is much more reliable. When somethinggoes wrong with Linux, the error is noticed and loudly discussedright away. Anyone with the requisite technical knowledge can gostraight to the source code and point out the source of the error,which is then rapidly fixed by whichever hacker has carved outresponsibility for that particular program.

As far as I know, Debian is the only Linuxdistribution that has its own constitution(http://www.debian.org/devel/constitution), but what really sold meon it was its phenomenal bug database (http://www.debian.org/Bugs),which is a sort of interactive Doomsday Book of error, fallibility,and redemption. It is simplicity itself. When had a problem withDebian in early January of 1997, I sent in a message describing theproblem to submit@bugs.debian.org. My problem was promptly assigned abug report number (#6518) and a severity level (the available choicesbeing critical, grave, important, normal, fixed, and wishlist) andforwarded to mailing lists where Debian people hang out. Withintwenty-four hours I had received five e-mails telling me how to fixthe problem: two from North America, two from Europe, and one fromAustralia. All of these e-mails gave me the same suggestion, whichworked, and made my problem go away. But at the same time, atranscript of this exchange was posted to Debian's bug database, sothat if other users had the same problem later, they would be able tosearch through and find the solution without having to enter a new,redundant bug report.

Contrast this with the experience that I had whenI tried to install Windows NT 4.0 on the very same machine about tenmonths later, in late 1997. The installation program simply stoppedin the middle with no error messages. I went to the Microsoft Supportwebsite and tried to perform a search for existing help documentsthat would address my problem. The search engine was completelynonfunctional; it did nothing at all. It did not even give me amessage telling me that it was not working.

Eventually I decided that my motherboard must beat fault; it was of a slightly unusual make and model, and NT did notsupport as many different motherboards as Linux. I am always lookingfor excuses, no matter how feeble, to buy new hardware, so I bought anew motherboard that was Windows NT logo-compatible, meaning that theWindows NT logo was printed right on the box. I installed this intomy computer and got Linux running right away, then attempted toinstall Windows NT again. Again, the installation died without anyerror message or explanation. By this time a couple of weeks had goneby and I thought that perhaps the search engine on the MicrosoftSupport website might be up and running. I gave that a try but itstill didn't work.

So I created a new Microsoft support account, thenlogged on to submit the incident. I supplied my product ID numberwhen asked, and then began to follow the instructions on a series ofhelp screens. In other words, I was submitting a bug report just aswith the Debian bug tracking system. It's just that the interface wasslicker--I was typing my complaint into little text-editing boxes onWeb forms, doing it all through the GUI, whereas with Debian you sendin an e-mail telegram. I knew that when I was finished submitting thebug report, it would become proprietary Microsoft information, andother users wouldn't be able to see it. Many Linux users would refuseto participate in such a scheme on ethical grounds, but I was willingto give it a shot as an experiment. In the end, though I was neverable to submit my bug report, because the series of linked web pagesthat I was filling out eventually led me to a completely blank page:a dead end.

So I went back and clicked on the buttons for"phone support" and eventually was given a Microsoft telephonenumber. When I dialed this number I got a series of piercing beepsand a recorded message from the phone company saying "We're sorry,your call cannot be completed as dialed."

I tried the search page again--it was stillcompletely nonfunctional. Then I tried PPI (Pay Per Incident) again.This led me through another series of Web pages until I dead-ended atone reading: "Notice-there is no Web page matching yourrequest."

I tried it again, and eventually got to a Pay PerIncident screen reading: "OUT OF INCIDENTS. There are no unusedincidents left in your account. If you would like to purchase asupport incident, click OK-you will then be able to prepay for anincident...." The cost per incident was $95.

The experiment was beginning to seem ratherexpensive, so I gave up on the PPI approach and decided to have a goat the FAQs posted on Microsoft's website. None of the available FAQshad anything to do with my problem except for one entitled "I amhaving some problems installing NT" which appeared to have beenwritten by flacks, not engineers.

So I gave up and still, to this day, have nevergotten Windows NT installed on that particular machine. For me, thepath of least resistance was simply to use Debian Linux.

In the world of open source software, bug reportsare useful information. Making them public is a service to otherusers, and improves the OS. Making them public systematicallyis so important that highly intelligent people voluntarily put timeand money into running bug databases. In the commercial OS world,however, reporting a bug is a privilege that you have to pay lots ofmoney for. But if you pay for it, it follows that the bug report mustbe kept confidential--otherwise anyone could get the benefitof your ninety-five bucks! And yet nothing prevents NT users fromsetting up their own public bug database.

This is, in other words, another feature of the OSmarket that simply makes no sense unless you view it in the contextof culture. What Microsoft is selling through Pay Per Incident isn'ttechnical support so much as the continued illusion that itscustomers are engaging in some kind of rational business transaction.It is a sort of routine maintenance fee for the upkeep of thefantasy. If people really wanted a solid OS they would use Linux, andif they really wanted tech support they would find a way to get it;Microsoft's customers want something else.

As of this writing (Jan. 1999), something like32,000 bugs have been reported to the Debian Linux bug database.Almost all of them have been fixed a long time ago. There are twelve"critical" bugs still outstanding, of which the oldest was posted 79days ago. There are 20 outstanding "grave" bugs of which the oldestis 1166 days old. There are 48 "important" bugs and hundreds of"normal" and less important ones.

Likewise, BeOS (which I'll get to in a minute) hasits own bug database (http://www.be.com/developers/bugs/index.html)with its own classification system, including such categories as "Nota Bug," "Acknowledged Feature," and "Will Not Fix." Some of the"bugs" here are nothing more than Be hackers blowing off steam, andare classified as "Input Acknowledged." For example, I found one thatwas posted on December 30th, 1998. It's in the middle of a long listof bugs, wedged between one entitled "Mouse working in very strangefashion" and another called "Change of BView frame does not affect,if BView not attached to a BWindow."

This one is entitled

R4: BeOS missing megalomaniacal figurehead toharness and focus developer rage

and it goes like this:

----------------------------

Be Status: Input Acknowledged
BeOS Version: R3.2
Component: unknown

Full Description:

The BeOS needs a megalomaniacal egomaniac sittingon its throne to give it a human character which everyone loves tohate. Without this, the BeOS will languish in the impersonifiablerealm of OSs that people can never quite get a handle on. You canjudge the success of an OS not by the quality of its features, but byhow infamous and disliked the leaders behind them are.

I believe this is a side-effect of developercomraderie under miserable conditions. After all, misery lovescompany. I believe that making the BeOS less conceptually accessibleand far less reliable will require developers to band together, thusdeveloping the kind of community where strangers talk to one-another, kind of like at a grocery store before a hugesnowstorm.

Following this same program, it will likely benecessary to move the BeOS headquarters to a far-less-comfortableclimate. General environmental discomfort will breed this attitudewithin and there truly is no greater recipe for success. I wouldsuggest Seattle, but I think it's already taken. You might tryWashington, DC, but definitely not somewhere like San Diego orTucson.

----------------------------

Unfortunately, the Be bug reporting system stripsoff the names of the people who report the bugs (to protect them fromretribution!?) and so I don't know who wrote this.

So it would appear that I'm in the middle ofcrowing about the technical and moral superiority of Debian Linux.But as almost always happens in the OS world, it's more complicatedthan that. I have Windows NT running on another machine, and theother day (Jan. 1999), when I had a problem with it, I decided tohave another go at Microsoft Support. This time the search engineactually worked (though in order to reach it I had to identify myselfas "advanced"). And instead of coughing up some useless FAQ, itlocated about two hundred documents (I was using very vague searchcriteria) that were obviously bug reports--though they were calledsomething else. Microsoft, in other words, has got a system up andrunning that is functionally equivalent to Debian's bug database. Itlooks and feels different, of course, but it contains technicalnitty-gritty and makes no bones about the existence oferrors.

As I've explained, selling OSes for money is abasically untenable position, and the only way Apple and Microsoftcan get away with it is by pursuing technological advancements asaggressively as they can, and by getting people to believe in, and topay for, a particular image: in the case of Apple, that of thecreative free thinker, and in the case of Microsoft, that of therespectable techno-bourgeois. Just like Disney, they're making moneyfrom selling an interface, a magic mirror. It has to be polished andseamless or else the whole illusion is ruined and the business planvanishes like a mirage.

Accordingly, it was the case until recently thatthe people who wrote manuals and created customer support websitesfor commercial OSes seemed to have been barred, by their employers'legal or PR departments, from admitting, even obliquely, that thesoftware might contain bugs or that the interface might be sufferingfrom the blinking twelve problem. They couldn't address users' actualdifficulties. The manuals and websites were therefore useless, andcaused even technically self-assured users to wonder whether theywere going subtly insane.

When Apple engages in this sort of corporatebehavior, one wants to believe that they are really trying theirbest. We all want to give Apple the benefit of the doubt, becausemean old Bill Gates kicked the crap out of them, and because theyhave good PR. But when Microsoft does it, one almost cannot helpbecoming a paranoid conspiracist. Obviously they are hiding somethingfrom us! And yet they are so powerful! They are trying to drive uscrazy!

This approach to dealing with one's customers wasstraight out of the Central European totalitarianism of themid-Twentieth Century. The adjectives "Kafkaesque" and "Orwellian"come to mind. It couldn't last, any more than the Berlin Wall could,and so now Microsoft has a publicly available bug database. It'scalled something else, and it takes a while to find it, but it'sthere.

They have, in other words, adapted to thetwo-tiered Eloi/Morlock structure of technological society. If you'rean Eloi you install Windows, follow the instructions, hope for thebest, and dumbly suffer when it breaks. If you're a Morlock you go tothe website, tell it that you are "advanced," find the bug database,and get the truth straight from some anonymous Microsoftengineer.

But once Microsoft has taken this step, it raisesthe question, once again, of whether there is any point to being inthe OS business at all. Customers might be willing to pay $95 toreport a problem to Microsoft if, in return, they get some advicethat no other user is getting. This has the useful side effect ofkeeping the users alienated from one another, which helps maintainthe illusion that bugs are rare aberrations. But once the results ofthose bug reports become openly available on the Microsoft website,everything changes. No one is going to cough up $95 to report aproblem when chances are good that some other sucker will do itfirst, and that instructions on how to fix the bug will then show up,for free, on a public website. And as the size of the bug databasegrows, it eventually becomes an open admission, on Microsoft's part,that their OSes have just as many bugs as their competitors'. Thereis no shame in that; as I mentioned, Debian's bug database has logged32,000 reports so far. But it puts Microsoft on an equal footing withthe others and makes it a lot harder for their customers--who want tobelieve--to believe.
 

MEMENTO MORI


Once the Linux machine has finished spitting out itsjargonic opening telegram, it prompts me to log in with a user nameand a password. At this point the machine is still running thecommand line interface, with white letters on a black screen. Thereare no windows, menus, or buttons. It does not respond to the mouse;it doesn't even know that the mouse is there. It is still possible torun a lot of software at this point. Emacs, for example, exists inboth a CLI and a GUI version (actually there are two GUI versions,reflecting some sort of doctrinal schism between Richard Stallman andsome hackers who got fed up with him). The same is true of many otherUnix programs. Many don't have a GUI at all, and many that do arecapable of running from the command line.

Of course, since my computer only has one monitorscreen, I can only see one command line, and so you might think thatI could only interact with one program at a time. But if I hold downthe Alt key and then hit the F2 function button at the top of mykeyboard, I am presented with a fresh, blank, black screen with alogin prompt at the top of it. I can log in here and start some otherprogram, then hit Alt-F1 and go back to the first screen, which isstill doing whatever it was when I left it. Or I can do Alt-F3 andlog in to a third screen, or a fourth, or a fifth. On one of thesescreens I might be logged in as myself, on another as root (thesystem administrator), on yet another I might be logged on to someother computer over the Internet.

Each of these screens is called, in Unix-speak, atty, which is an abbreviation for teletype. So when I use my Linuxsystem in this way I am going right back to that small room at AmesHigh School where I first wrote code twenty-five years ago, exceptthat a tty is quieter and faster than a teletype, and capable ofrunning vastly superior software, such as emacs or the GNUdevelopment tools.

It is easy (easy by Unix, not Apple/Microsoftstandards) to configure a Linux machine so that it will go directlyinto a GUI when you boot it up. This way, you never see a tty screenat all. I still have mine boot into the white-on-black teletypescreen however, as a computational memento mori. It used to befashionable for a writer to keep a human skull on his desk as areminder that he was mortal, that all about him was vanity. The ttyscreen reminds me that the same thing is true of slick userinterfaces.

The X Windows System, which is the GUI of Unix,has to be capable of running on hundreds of different video cardswith different chipsets, amounts of onboard memory, and motherboardbuses. Likewise, there are hundreds of different types of monitors onthe new and used market, each with different specifications, and sothere are probably upwards of a million different possiblecombinations of card and monitor. The only thing they all have incommon is that they all work in VGA mode, which is the oldcommand-line screen that you see for a few seconds when you launchWindows. So Linux always starts in VGA, with a teletype interface,because at first it has no idea what sort of hardware is attached toyour computer. In order to get beyond the glass teletype and into theGUI, you have to tell Linux exactly what kinds of hardware you have.If you get it wrong, you'll get a blank screen at best, and at worstyou might actually destroy your monitor by feeding it signals itcan't handle.

When I started using Linux this had to be done byhand. I once spent the better part of a month trying to get anoddball monitor to work for me, and filled the better part of acomposition book with increasingly desperate scrawled notes.Nowadays, most Linux distributions ship with a program thatautomatically scans the video card and self-configures the system, sogetting X Windows up and running is nearly as easy as installing anApple/Microsoft GUI. The crucial information goes into a file (anASCII text file, naturally) called XF86Config, which is worth lookingat even if your distribution creates it for you automatically. Formost people it looks like meaningless cryptic incantations, which isthe whole point of looking at it. An Apple/Microsoft system needs tohave the same information in order to launch its GUI, but it's apt tobe deeply hidden somewhere, and it's probably in a file that can'teven be opened and read by a text editor. All of the important filesthat make Linux systems work are right out in the open. They arealways ASCII text files, so you don't need special tools to readthem. You can look at them any time you want, which is good, and youcan mess them up and render your system totally dysfunctional, whichis not so good.

At any rate, assuming that my XF86Config file isjust so, I enter the command "startx" to launch the X Windows System.The screen blanks out for a minute, the monitor makes strangetwitching noises, then reconstitutes itself as a blank gray desktopwith a mouse cursor in the middle. At the same time it is launching awindow manager. X Windows is pretty low-level software; it providesthe infrastructure for a GUI, and it's a heavy industrialinfrastructure. But it doesn't do windows. That's handled by anothercategory of application that sits atop X Windows, called a windowmanager. Several of these are available, all free of course. Theclassic is twm (Tom's Window Manager) but there is a smaller andsupposedly more efficient variant of it called fvwm, which is what Iuse. I have my eye on a completely different window manager calledEnlightenment, which may be the hippest single technology product Ihave ever seen, in that (a) it is for Linux, (b) it is freeware, (c)it is being developed by a very small number of obsessed hackers, and(d) it looks amazingly cool; it is the sort of window manager thatmight show up in the backdrop of an Aliens movie.

Anyway, the window manager acts as an intermediarybetween X Windows and whatever software you want to use. It draws thewindow frames, menus, and so on, while the applications themselvesdraw the actual content in the windows. The applications might be ofany sort: text editors, Web browsers, graphics packages, or utilityprograms, such as a clock or calculator. In other words, from thispoint on, you feel as if you have been shunted into a paralleluniverse that is quite similar to the familiar Apple or Microsoftone, but slightly and pervasively different. The premier graphicsprogram under Apple/Microsoft is Adobe Photoshop, but under Linuxit's something called The GIMP. Instead of the Microsoft OfficeSuite, you can buy something called ApplixWare. Many commercialsoftware packages, such as Mathematica, Netscape Communicator, andAdobe Acrobat, are available in Linux versions, and depending on howyou set up your window manager you can make them look and behave justas they would under MacOS or Windows.

But there is one type of window you'll see onLinux GUI that is rare or nonexistent under other OSes. These windowsare called "xterm" and contain nothing but lines of text--this time,black text on a white background, though you can make them bedifferent colors if you choose. Each xterm window is a separatecommand line interface--a tty in a window. So even when you are infull GUI mode, you can still talk to your Linux machine through acommand-line interface.

There are many good pieces of Unix software thatdo not have GUIs at all. This might be because they were developedbefore X Windows was available, or because the people who wrote themdid not want to suffer through all the hassle of creating a GUI, orbecause they simply do not need one. In any event, those programs canbe invoked by typing their names into the command line of an xtermwindow. The whoami command, mentioned earlier, is a good example.There is another called wc ("word count") which simply returns thenumber of lines, words, and characters in a text file.

The ability to run these little utility programson the command line is a great virtue of Unix, and one that isunlikely to be duplicated by pure GUI operating systems. The wccommand, for example, is the sort of thing that is easy to write witha command line interface. It probably does not consist of more than afew lines of code, and a clever programmer could probably write it ina single line. In compiled form it takes up just a few bytes of diskspace. But the code required to give the same program a graphicaluser interface would probably run into hundreds or even thousands oflines, depending on how fancy the programmer wanted to make it.Compiled into a runnable piece of software, it would have a largeoverhead of GUI code. It would be slow to launch and it would use upa lot of memory. This would simply not be worth the effort, and so"wc" would never be written as an independent program at all. Insteadusers would have to wait for a word count feature to appear in acommercial software package.

GUIs tend to impose a large overhead on everysingle piece of software, even the smallest, and this overheadcompletely changes the programming environment. Small utilityprograms are no longer worth writing. Their functions, instead, tendto get swallowed up into omnibus software packages. As GUIs get morecomplex, and impose more and more overhead, this tendency becomesmore pervasive, and the software packages grow ever more colossal;after a point they begin to merge with each other, as Microsoft Wordand Excel and PowerPoint have merged into Microsoft Office: astupendous software Wal-Mart sitting on the edge of a town filledwith tiny shops that are all boarded up.

It is an unfair analogy, because when a tiny shopgets boarded up it means that some small shopkeeper has lost hisbusiness. Of course nothing of the kind happens when "wc" becomessubsumed into one of Microsoft Word's countless menu items. The onlyreal drawback is a loss of flexibility for the user, but it is a lossthat most customers obviously do not notice or care about. The mostserious drawback to the Wal-Mart approach is that most users onlywant or need a tiny fraction of what is contained in these giantsoftware packages. The remainder is clutter, dead weight. And yet theuser in the next cubicle over will have completely different opinionsas to what is useful and what isn't.

The other important thing to mention, here, isthat Microsoft has included a genuinely cool feature in the Officepackage: a Basic programming package. Basic is the first computerlanguage that I learned, back when I was using the paper tape and theteletype. By using the version of Basic that comes with Office youcan write your own little utility programs that know how to interactwith all of the little doohickeys, gewgaws, bells, and whistles inOffice. Basic is easier to use than the languages typically employedin Unix command-line programming, and Office has reached many, manymore people than the GNU tools. And so it is quite possible that thisfeature of Office will, in the end, spawn more hacking thanGNU.

But now I'm talking about application software,not operating systems. And as I've said, Microsoft's applicationsoftware tends to be very good stuff. I don't use it very much,because I am nowhere near their target market. If Microsoft evermakes a software package that I use and like, then it really will betime to dump their stock, because I am a market segment ofone.

GEEK FATIGUE

Over the years that I've been working with Linux Ihave filled three and a half notebooks logging my experiences. I onlybegin writing things down when I'm doing something complicated, likesetting up X Windows or fooling around with my Internet connection,and so these notebooks contain only the record of my struggles andfrustrations. When things are going well for me, I'll work alonghappily for many months without jotting down a single note. So thesenotebooks make for pretty bleak reading. Changing anything underLinux is a matter of opening up various of those little ASCII textfiles and changing a word here and a character there, in ways thatare extremely significant to how the system operates.

Many of the files that control how Linux operatesare nothing more than command lines that became so long andcomplicated that not even Linux hackers could type them correctly.When working with something as powerful as Linux, you can easilydevote a full half-hour to engineering a single command line. Forexample, the "find" command, which searches your file system forfiles that match certain criteria, is fantastically powerful andgeneral. Its "man" is eleven pages long, and these are pithy pages;you could easily expand them into a whole book. And if that is notcomplicated enough in and of itself, you can always pipe the outputof one Unix command to the input of another, equally complicated one.The "pon" command, which is used to fire up a PPP connection to theInternet, requires so much detailed information that it is basicallyimpossible to launch it entirely from the command line. Instead youabstract big chunks of its input into three or four different files.You need a dialing script, which is effectively a little programtelling it how to dial the phone and respond to various events; anoptions file, which lists up to about sixty different options on howthe PPP connection is to be set up; and a secrets file, givinginformation about your password.

Presumably there are godlike Unix hackerssomewhere in the world who don't need to use these little scripts andoptions files as crutches, and who can simply pound out fantasticallycomplex command lines without making typographical errors and withouthaving to spend hours flipping through documentation. But I'm not oneof them. Like almost all Linux users, I depend on having all of thosedetails hidden away in thousands of little ASCII text files, whichare in turn wedged into the recesses of the Unix filesystem. When Iwant to change something about the way my system works, I edit thosefiles. I know that if I don't keep track of every little change I'vemade, I won't be able to get your system back in working order afterI've gotten it all messed up. Keeping hand-written logs is tedious,not to mention kind of anachronistic. But it's necessary.

I probably could have saved myself a lot ofheadaches by doing business with a company called Cygnus Support,which exists to provide assistance to users of free software. But Ididn't, because I wanted to see if I could do it myself. The answerturned out to be yes, but just barely. And there are many tweaks andoptimizations that I could probably make in my system that I havenever gotten around to attempting, partly because I get tired ofbeing a Morlock some days, and partly because I am afraid of foulingup a system that generally works well.

Though Linux works for me and many other users,its sheer power and generality is its Achilles' heel. If you knowwhat you are doing, you can buy a cheap PC from any computer store,throw away the Windows discs that come with it, turn it into a Linuxsystem of mind-boggling complexity and power. You can hook it up totwelve other Linux boxes and make it into part of a parallelcomputer. You can configure it so that a hundred different people canbe logged onto it at once over the Internet, via as many modem lines,Ethernet cards, TCP/IP sockets, and packet radio links. You can hanghalf a dozen different monitors off of it and play DOOM with someonein Australia while tracking communications satellites in orbit andcontrolling your house's lights and thermostats and streaming livevideo from your web-cam and surfing the Net and designing circuitboards on the other screens. But the sheer power and complexity ofthe system--the qualities that make it so vastly technically superiorto other OSes--sometimes make it seem too formidable for routineday-to-day use.

Sometimes, in other words, I just want to go toDisneyland.

The ideal OS for me would be one that had awell-designed GUI that was easy to set up and use, but that includedterminal windows where I could revert to the command line interface,and run GNU software, when it made sense. A few years ago, Be Inc.invented exactly that OS. It is called the BeOS.
 

ETRE


Many people in the computer business have had adifficult time grappling with Be, Incorporated, for the simple reasonthat nothing about it seems to make any sense whatsoever. It waslaunched in late 1990, which makes it roughly contemporary withLinux. From the beginning it has been devoted to creating a newoperating system that is, by design, incompatible with all the others(though, as we shall see, it is compatible with Unix in some veryimportant ways). If a definition of "celebrity" is someone who isfamous for being famous, then Be is an anti-celebrity. It is famousfor not being famous; it is famous for being doomed. But it has beendoomed for an awfully long time.

Be's mission might make more sense to hackers thanto other people. In order to explain why I need to explain theconcept of cruft, which, to people who write code, is nearly asabhorrent as unnecessary repetition.

If you've been to San Francisco you may have seenolder buildings that have undergone "seismic upgrades," whichfrequently means that grotesque superstructures of modern steelworkare erected around buildings made in, say, a Classical style. Whennew threats arrive--if we have an Ice Age, for example--additionallayers of even more high-tech stuff may be constructed, in turn,around these, until the original building is like a holy relic in acathedral--a shard of yellowed bone enshrined in half a ton of fancyprotective junk.

Analogous measures can be taken to keep creaky oldoperating systems working. It happens all the time. Ditching anworn-out old OS ought to be simplified by the fact that, unlike oldbuildings, OSes have no aesthetic or cultural merit that makes themintrinsically worth saving. But it doesn't work that way in practice.If you work with a computer, you have probably customized your"desktop," the environment in which you sit down to work every day,and spent a lot of money on software that works in that environment,and devoted much time to familiarizing yourself with how it allworks. This takes a lot of time, and time is money. As alreadymentioned, the desire to have one's interactions with complextechnologies simplified through the interface, and to surroundyourself with virtual tchotchkes and lawn ornaments, is natural andpervasive--presumably a reaction against the complexity andformidable abstraction of the computer world. Computers give us morechoices than we really want. We prefer to make those choices once, oraccept the defaults handed to us by software companies, and letsleeping dogs lie. But when an OS gets changed, all the dogs jump upand start barking.

The average computer user is a technologicalantiquarian who doesn't really like things to change. He or she islike an urban professional who has just bought a charming fixer-upperand is now moving the furniture and knicknacks around, andreorganizing the kitchen cupboards, so that everything's just right.If it is necessary for a bunch of engineers to scurry around in thebasement shoring up the foundation so that it can support the newcast-iron claw-foot bathtub, and snaking new wires and pipes throughthe walls to supply modern appliances, why, so be it--engineers arecheap, at least when millions of OS users split the cost of theirservices.

Likewise, computer users want to have the latestPentium in their machines, and to be able to surf the web, withoutmessing up all the stuff that makes them feel as if they know whatthe hell is going on. Sometimes this is actually possible. Addingmore RAM to your system is a good example of an upgrade that is notlikely to screw anything up.

Alas, very few upgrades are this clean and simple.Lawrence Lessig, the whilom Special Master in the JusticeDepartment's antitrust suit against Microsoft, complained that he hadinstalled Internet Explorer on his computer, and in so doing, lostall of his bookmarks--his personal list of signposts that he used tonavigate through the maze of the Internet. It was as if he'd bought anew set of tires for his car, and then, when pulling away from thegarage, discovered that, owing to some inscrutable side-effect, everysignpost and road map in the world had been destroyed. If he's likemost of us, he had put a lot of work into compiling that list ofbookmarks. This is only a small taste of the sort of trouble thatupgrades can cause. Crappy old OSes have value in the basicallynegative sense that changing to new ones makes us wish we'd neverbeen born.

All of the fixing and patching that engineers mustdo in order to give us the benefits of new technology without forcingus to think about it, or to change our ways, produces a lot of codethat, over time, turns into a giant clot of bubble gum, spackle,baling wire and duct tape surrounding every operating system. In thejargon of hackers, it is called "cruft." An operating system that hasmany, many layers of it is described as "crufty." Hackers hate to dothings twice, but when they see something crufty, their first impulseis to rip it out, throw it away, and start anew.

If Mark Twain were brought back to San Franciscotoday and dropped into one of these old seismically upgradedbuildings, it would look just the same to him, with all the doors andwindows in the same places--but if he stepped outside, he wouldn'trecognize it. And--if he'd been brought back with his wits intact--hemight question whether the building had been worth going to so muchtrouble to save. At some point, one must ask the question: is thisreally worth it, or should we maybe just tear it down and put up agood one? Should we throw another human wave of structural engineersat stabilizing the Leaning Tower of Pisa, or should we just let thedamn thing fall over and build a tower that doesn't suck?

Like an upgrade to an old building, cruft alwaysseems like a good idea when the first layers of it go on--justroutine maintenance, sound prudent management. This is especiallytrue if (as it were) you never look into the cellar, or behind thedrywall. But if you are a hacker who spends all his time looking atit from that point of view, cruft is fundamentally disgusting, andyou can't avoid wanting to go after it with a crowbar. Or, betteryet, simply walk out of the building--let the Leaning Tower of Pisafall over--and go make a new one THAT DOESN'T LEAN.

For a long time it was obvious to Apple,Microsoft, and their customers that the first generation of GUIoperating systems was doomed, and that they would eventually need tobe ditched and replaced with completely fresh ones. During the lateEighties and early Nineties, Apple launched a few abortive efforts tomake fundamentally new post-Mac OSes such as Pink and Taligent. Whenthose efforts failed they launched a new project called Copland whichalso failed. In 1997 they flirted with the idea of acquiring Be, butinstead they acquired Next, which has an OS called NextStep that is,in effect, a variant of Unix. As these efforts went on, and on, andon, and failed and failed and failed, Apple's engineers, who wereamong the best in the business, kept layering on the cruft. They weregamely trying to turn the little toaster into a multi-tasking,Internet-savvy machine, and did an amazingly good job of it for awhile--sort of like a movie hero running across a jungle river byhopping across crocodiles' backs. But in the real world youeventually run out of crocodiles, or step on a really smartone.

Speaking of which, Microsoft tackled the sameproblem in a considerably more orderly way by creating a new OScalled Windows NT, which is explicitly intended to be a directcompetitor of Unix. NT stands for "New Technology" which might beread as an explicit rejection of cruft. And indeed, NT is reputed tobe a lot less crufty than what MacOS eventually turned into; at onepoint the documentation needed to write code on the Mac filledsomething like 24 binders. Windows 95 was, and Windows 98 is, cruftybecause they have to be backward-compatible with older MicrosoftOSes. Linux deals with the cruft problem in the same way that Eskimossupposedly dealt with senior citizens: if you insist on using oldversions of Linux software, you will sooner or later find yourselfdrifting through the Bering Straits on a dwindling ice floe. They canget away with this because most of the software is free, so it costsnothing to download up-to-date versions, and because most Linux usersare Morlocks.

The great idea behind BeOS was to start from aclean sheet of paper and design an OS the right way. And that isexactly what they did. This was obviously a good idea from anaesthetic standpoint, but does not a sound business plan make. Somepeople I know in the GNU/Linux world are annoyed with Be for goingoff on this quixotic adventure when their formidable skills couldhave been put to work helping to promulgate Linux.

Indeed, none of it makes sense until you rememberthat the founder of the company, Jean-Louis Gassee, is from France--acountry that for many years maintained its own separate andindependent version of the English monarchy at a court in St.Germaines, complete with courtiers, coronation ceremonies, a statereligion and a foreign policy. Now, the same annoying yet admirablestiff-neckedness that gave us the Jacobites, the force de frappe,Airbus, and ARRET signs in Quebec, has brought us a really cooloperating system. I fart in your general direction, Anglo-Saxonpig-dogs!

To create an entirely new OS from scratch, justbecause none of the existing ones was exactly right, struck me as anact of such colossal nerve that I felt compelled to support it. Ibought a BeBox as soon as I could. The BeBox was a dual-processormachine, powered by Motorola chips, made specifically to run theBeOS; it could not run any other operating system. That's why Ibought it. I felt it was a way to burn my bridges. Its mostdistinctive feature is two columns of LEDs on the front panel thatzip up and down like tachometers to convey a sense of how hard eachprocessor is working. I thought it looked cool, and besides, Ireckoned that when the company went out of business in a few months,my BeBox would be a valuable collector's item.

Now it is about two years later and I am typingthis on my BeBox. The LEDs (Das Blinkenlights, as they are called inthe Be community) flash merrily next to my right elbow as I hit thekeys. Be, Inc. is still in business, though they stopped makingBeBoxes almost immediately after I bought mine. They made the sad,but probably quite wise decision that hardware was a sucker's game,and ported the BeOS to Macintoshes and Mac clones. Since these usedthe same sort of Motorola chips that powered the BeBox, this wasn'tespecially hard.

Very soon afterwards, Apple strangled theMac-clone makers and restored its hardware monopoly. So, for a while,the only new machines that could run BeOS were made byApple.

By this point Be, like Spiderman with hisSpider-sense, had developed a keen sense of when they were about toget crushed like a bug. Even if they hadn't, the notion of beingdependent on Apple--so frail and yet so vicious--for their continuedexistence should have put a fright into anyone. Now engaged in theirown crocodile-hopping adventure, they ported the BeOS to Intelchips--the same chips used in Windows machines. And not a moment toosoon, for when Apple came out with its new top-of-the-line hardware,based on the Motorola G3 chip, they withheld the technical data thatBe's engineers would need to make the BeOS run on those machines.This would have killed Be, just like a slug between the eyes, if theyhadn't made the jump to Intel.

So now BeOS runs on an assortment of hardware thatis almost incredibly motley: BeBoxes, aging Macs and Macorphan-clones, and Intel machines that are intended to be used forWindows. Of course the latter type are ubiquitous and shockinglycheap nowadays, so it would appear that Be's hardware troubles arefinally over. Some German hackers have even come up with a DasBlinkenlights replacement: it's a circuit board kit that you can pluginto PC-compatible machines running BeOS. It gives you the zoomingLED tachometers that were such a popular feature of theBeBox.

My BeBox is already showing its age, as allcomputers do after a couple of years, and sooner or later I'llprobably have to replace it with an Intel machine. Even after that,though, I will still be able to use it. Because, inevitably, someonehas now ported Linux to the BeBox.

At any rate, BeOS has an extremelywell-thought-out GUI built on a technological framework that issolid. It is based from the ground up on modern object-orientedsoftware principles. BeOS software consists of quasi-independentsoftware entities called objects, which communicate by sendingmessages to each other. The OS itself is made up of such objects, andserves as a kind of post office or Internet that routes messages toand fro, from object to object. The OS is multi-threaded, which meansthat like all other modern OSes it can walk and chew gum at the sametime; but it gives programmers a lot of power over spawning andterminating threads, or independent sub-processes. It is also amulti-processing OS, which means that it is inherently good atrunning on computers that have more than one CPU (Linux and WindowsNT can also do this proficiently).

For this user, a big selling point of BeOS is thebuilt-in Terminal application, which enables you to open up windowsthat are equivalent to the xterm windows in Linux. In other words,the command line interface is available if you want it. And becauseBeOS hews to a certain standard called POSIX, it is capable ofrunning most of the GNU software. That is to say that the vast arrayof command-line software developed by the GNU crowd will work in BeOSterminal windows without complaint. This includes the GNU developmenttools-the compiler and linker. And it includes all of the handylittle utility programs. I'm writing this using a modern sort ofuser-friendly text editor called Pe, written by a Dutchman namedMaarten Hekkelman, but when I want to find out how long it is, I jumpto a terminal window and run "wc."

As is suggested by the sample bug report I quotedearlier, people who work for Be, and developers who write code forBeOS, seem to be enjoying themselves more than their counterparts inother OSes. They also seem to be a more diverse lot in general. Acouple of years ago I went to an auditorium at a local university tosee some representatives of Be put on a dog-and-pony show. I wentbecause I assumed that the place would be empty and echoing, and Ifelt that they deserved an audience of at least one. In fact, I endedup standing in an aisle, for hundreds of students had packed theplace. It was like a rock concert. One of the two Be engineers on thestage was a black man, which unfortunately is a very odd thing in thehigh-tech world. The other made a ringing denunciation of cruft, andextolled BeOS for its cruft-free qualities, and actually came out andsaid that in ten or fifteen years, when BeOS had become all cruftylike MacOS and Windows 95, it would be time to simply throw it awayand create a new OS from scratch. I doubt that this is an officialBe, Inc. policy, but it sure made a big impression on everyone in theroom! During the late Eighties, the MacOS was, for a time, the OS ofcool people-artists and creative-minded hackers-and BeOS seems tohave the potential to attract the same crowd now. Be mailing listsare crowded with hackers with names like Vladimir and Olaf andPierre, sending flames to each other in fracturedtechno-English.

The only real question about BeOS is whether ornot it is doomed.

Of late, Be has responded to the tiresomeaccusation that they are doomed with the assertion that BeOS is "amedia operating system" made for media content creators, and hence isnot really in competition with Windows at all. This is a little bitdisingenuous. To go back to the car dealership analogy, it is likethe Batmobile dealer claiming that he is not really in competitionwith the others because his car can go three times as fast as theirsand is also capable of flying.

Be has an office in Paris, and, as mentioned, theconversation on Be mailing lists has a strongly European flavor. Atthe same time they have made strenuous efforts to find a niche inJapan, and Hitachi has recently begun bundling BeOS with their PCs.So if I had to make wild guess I'd say that they are playing Go whileMicrosoft is playing chess. They are staying clear, for now, ofMicrosoft's overwhelmingly strong position in North America. They aretrying to get themselves established around the edges of the board,as it were, in Europe and Japan, where people may be more open toalternative OSes, or at least more hostile to Microsoft, than theyare in the United States.

What holds Be back in this country is that thesmart people are afraid to look like suckers. You run the risk oflooking naive when you say "I've tried the BeOS and here's what Ithink of it." It seems much more sophisticated to say "Be's chancesof carving out a new niche in the highly competitive OS market areclose to nil."

It is, in techno-speak, a problem of mindshare.And in the OS business, mindshare is more than just a PR issue; ithas direct effects on the technology itself. All of the peripheralgizmos that can be hung off of a personal computer--the printers,scanners, PalmPilot interfaces, and Lego Mindstorms--require piecesof software called drivers. Likewise, video cards and (to a lesserextent) monitors need drivers. Even the different types ofmotherboards on the market relate to the OS in different ways, andseparate code is required for each one. All of this hardware-specificcode must not only written but also tested, debugged, upgraded,maintained, and supported. Because the hardware market has become sovast and complicated, what really determines an OS's fate is not howgood the OS is technically, or how much it costs, but rather theavailability of hardware-specific code. Linux hackers have to writethat code themselves, and they have done an amazingly good job ofkeeping up to speed. Be, Inc. has to write all their own drivers,though as BeOS has begun gathering momentum, third-party developershave begun to contribute drivers, which are available on Be's website.

But Microsoft owns the high ground at the moment,because it doesn't have to write its own drivers. Any hardware makerbringing a new video card or peripheral device to market today knowsthat it will be unsalable unless it comes with the hardware-specificcode that will make it work under Windows, and so each hardware makerhas accepted the burden of creating and maintaining its own libraryof drivers.
 

MINDSHARE


The U.S. Government's assertion that Microsoft has amonopoly in the OS market might be the most patently absurd claimever advanced by the legal mind. Linux, a technically superioroperating system, is being given away for free, and BeOS is availableat a nominal price. This is simply a fact, which has to be acceptedwhether or not you like Microsoft.

Microsoft is really big and rich, and if some ofthe government's witnesses are to be believed, they are not niceguys. But the accusation of a monopoly simply does not make anysense.

What is really going on is that Microsoft hasseized, for the time being, a certain type of high ground: theydominate in the competition for mindshare, and so any hardware orsoftware maker who wants to be taken seriously feels compelled tomake a product that is compatible with their operating systems. SinceWindows-compatible drivers get written by the hardware makers,Microsoft doesn't have to write them; in effect, the hardware makersare adding new components to Windows, making it a more capable OS,without charging Microsoft for the service. It is a very goodposition to be in. The only way to fight such an opponent is to havean army of highly competetent coders who write equivalent drivers forfree, which Linux does.

But possession of this psychological high groundis different from a monopoly in any normal sense of that word,because here the dominance has nothing to do with technicalperformance or price. The old robber-baron monopolies were monopoliesbecause they physically controlled means of production and/ordistribution. But in the software business, the means of productionis hackers typing code, and the means of distribution is theInternet, and no one is claiming that Microsoft controlsthose.

Here, instead, the dominance is inside the mindsof people who buy software. Microsoft has power because peoplebelieve it does. This power is very real. It makes lots of money.Judging from recent legal proceedings in both Washingtons, it wouldappear that this power and this money have inspired some verypeculiar executives to come out and work for Microsoft, and that BillGates should have administered saliva tests to some of them beforeissuing them Microsoft ID cards.

But this is not the sort of power that fits anynormal definition of the word "monopoly," and it's not amenable to alegal fix. The courts may order Microsoft to do things differently.They might even split the company up. But they can't really doanything about a mindshare monopoly, short of taking every man,woman, and child in the developed world and subjecting them to alengthy brainwashing procedure.

Mindshare dominance is, in other words, a reallyodd sort of beast, something that the framers of our antitrust lawscouldn't possibly have imagined. It looks like one of these modern,wacky chaos-theory phenomena, a complexity thing, in which a wholelot of independent but connected entities (the world's computerusers), making decisions on their own, according to a few simplerules of thumb, generate a large phenomenon (total domination of themarket by one company) that cannot be made sense of through any kindof rational analysis. Such phenomena are fraught with concealedtipping-points and all a-tangle with bizarre feedback loops, andcannot be understood; people who try, end up (a) going crazy, (b)giving up, (c) forming crackpot theories, or (d) becoming high-paidchaos theory consultants.

Now, there might be one or two people at Microsoftwho are dense enough to believe that mindshare dominance is some kindof stable and enduring position. Maybe that even accounts for some ofthe weirdos they've hired in the pure-business end of the operation,the zealots who keep getting hauled into court by enraged judges. Butmost of them must have the wit to understand that phenomena likethese are maddeningly unstable, and that there's no telling whatweird, seemingly inconsequential event might cause the system toshift into a radically different configuration.

To put it another way, Microsoft can be confidentthat Thomas Penfield Jackson will not hand down an order that thebrains of everyone in the developed world are to be summarilyre-programmed. But there's no way to predict when people will decide,en masse, to re-program their own brains. This might explain some ofMicrosoft's behavior, such as their policy of keeping eerily largereserves of cash sitting around, and the extreme anxiety that theydisplay whenever something like Java comes along.

I have never seen the inside of the building atMicrosoft where the top executives hang out, but I have this fantasythat in the hallways, at regular intervals, big red alarm boxes arebolted to the wall. Each contains a large red button protected by awindowpane. A metal hammer dangles on a chain next to it. Above is abig sign reading: IN THE EVENT OF A CRASH IN MARKET SHARE, BREAKGLASS.

What happens when someone shatters the glass andhits the button, I don't know, but it sure would be interesting tofind out. One imagines banks collapsing all over the world asMicrosoft withdraws its cash reserves, and shrink-wrappedpallet-loads of hundred-dollar bills dropping from the skies. Nodoubt, Microsoft has a plan. But what I would really like to know iswhether, at some level, their programmers might heave a big sigh ofrelief if the burden of writing the One Universal Interface toEverything were suddenly lifted from their shoulders.
 

THE RIGHT PINKY OF GOD


In his book The Life of the Cosmos, whicheveryone should read, Lee Smolin gives the best description I've everread of how our universe emerged from an uncannily precise balancingof different fundamental constants. The mass of the proton, thestrength of gravity, the range of the weak nuclear force, and a fewdozen other fundamental constants completely determine what sort ofuniverse will emerge from a Big Bang. If these values had been evenslightly different, the universe would have been a vast ocean oftepid gas or a hot knot of plasma or some other basicallyuninteresting thing--a dud, in other words. The only way to get auniverse that's not a dud--that has stars, heavy elements, planets,and life--is to get the basic numbers just right. If there were somemachine, somewhere, that could spit out universes with randomlychosen values for their fundamental constants, then for everyuniverse like ours it would produce 10^229 duds.

Though I haven't sat down and run the numbers onit, to me this seems comparable to the probability of making a Unixcomputer do something useful by logging into a tty and typing incommand lines when you have forgotten all of the little options andkeywords. Every time your right pinky slams that ENTER key, you aremaking another try. In some cases the operating system does nothing.In other cases it wipes out all of your files. In most cases it justgives you an error message. In other words, you get many duds. Butsometimes, if you have it all just right, the computer grinds awayfor a while and then produces something like emacs. It actuallygenerates complexity, which is Smolin's criterion forinterestingness.

Not only that, but it's beginning to look as if,once you get below a certain size--way below the level of quarks,down into the realm of string theory--the universe can't be describedvery well by physics as it has been practiced since the days ofNewton. If you look at a small enough scale, you see processes thatlook almost computational in nature.

I think that the message is very clear here:somewhere outside of and beyond our universe is an operating system,coded up over incalculable spans of time by some kind ofhacker-demiurge. The cosmic operating system uses a command-lineinterface. It runs on something like a teletype, with lots of noiseand heat; punched-out bits flutter down into its hopper like driftingstars. The demiurge sits at his teletype, pounding out one commandline after another, specifying the values of fundamental constants ofphysics:

universe -G 6.672e-11 -e 1.602e-19 -h 6.626e-34-protonmass 1.673e-27....

and when he's finished typing out the commandline, his right pinky hesitates above the ENTER key for an aeon ortwo, wondering what's going to happen; then down it comes--and theWHACK you hear is another Big Bang.

Now THAT is a cool operating system, and if such athing were actually made available on the Internet (for free, ofcourse) every hacker in the world would download it right away andthen stay up all night long messing with it, spitting out universesright and left. Most of them would be pretty dull universes but someof them would be simply amazing. Because what those hackers would beaiming for would be much more ambitious than a universe that had afew stars and galaxies in it. Any run-of-the-mill hacker would beable to do that. No, the way to gain a towering reputation on theInternet would be to get so good at tweaking your command line thatyour universes would spontaneously develop life. And once the way todo that became common knowledge, those hackers would move on, tryingto make their universes develop the right kind of life, tryingto find the one change in the Nth decimal place of some physicalconstant that would give us an Earth in which, say, Hitler had beenaccepted into art school after all, and had ended up his days as astreet artist with cranky political opinions.

Even if that fantasy came true, though, most users(including myself, on certain days) wouldn't want to bother learningto use all of those arcane commands, and struggling with all of thefailures; a few dud universes can really clutter up your basement.After we'd spent a while pounding out command lines and hitting thatENTER key and spawning dull, failed universes, we would start to longfor an OS that would go all the way to the opposite extreme: an OSthat had the power to do everything--to live our life for us. In thisOS, all of the possible decisions we could ever want to make wouldhave been anticipated by clever programmers, and condensed into aseries of dialog boxes. By clicking on radio buttons we could choosefrom among mutually exclusive choices (HETEROSEXUAL/HOMOSEXUAL).Columns of check boxes would enable us to select the things that wewanted in our life (GET MARRIED/WRITE GREAT AMERICAN NOVEL) and formore complicated options we could fill in little text boxes (NUMBEROF DAUGHTERS: NUMBER OF SONS:).

Even this user interface would begin to lookawfully complicated after a while, with so many choices, and so manyhidden interactions between choices. It could become damn nearunmanageable--the blinking twelve problem all over again. The peoplewho brought us this operating system would have to provide templatesand wizards, giving us a few default lives that we could use asstarting places for designing our own. Chances are that these defaultlives would actually look pretty damn good to most people, goodenough, anyway, that they'd be reluctant to tear them open and messaround with them for fear of making them worse. So after a fewreleases the software would begin to look even simpler: you wouldboot it up and it would present you with a dialog box with a singlelarge button in the middle labeled: LIVE. Once you had clicked thatbutton, your life would begin. If anything got out of whack, orfailed to meet your expectations, you could complain about it toMicrosoft's Customer Support Department. If you got a flack on theline, he or she would tell you that your life was actually fine, thatthere was not a thing wrong with it, and in any event it would be alot better after the next upgrade was rolled out. But if youpersisted, and identified yourself as Advanced, you might get throughto an actual engineer.

What would the engineer say, after you hadexplained your problem, and enumerated all of the dissatisfactions inyour life? He would probably tell you that life is a very hard andcomplicated thing; that no interface can change that; that anyone whobelieves otherwise is a sucker; and that if you don't like havingchoices made for you, you should start making your own.

Copyright 1999 by Neal Stephenson

1999 The Hearst Corporation